MCPcopy Create free account
hub / github.com/brainflow-dev/brainflow / MLModel

Class MLModel

python_package/brainflow/ml_model.py:164–287  ·  view source on GitHub ↗

MLModel class used to calc derivative metrics from raw data :param model_params: Model Params :type model_params: BrainFlowModelParams

Source from the content-addressed store, hash-verified

162
163
164class MLModel(object):
165 """MLModel class used to calc derivative metrics from raw data
166
167 :param model_params: Model Params
168 :type model_params: BrainFlowModelParams
169 """
170
171 def __init__(self, model_params: BrainFlowModelParams) -> None:
172 self.model_params = model_params
173 try:
174 self.serialized_params = model_params.to_json().encode()
175 except BaseException:
176 self.serialized_params = model_params.to_json()
177
178 @classmethod
179 def set_log_level(cls, log_level: int) -> None:
180 """set BrainFlow log level, use it only if you want to write your own messages to BrainFlow logger,
181 otherwise use enable_ml_logger, enable_dev_ml_logger or disable_ml_logger
182
183 :param log_level: log level, to specify it you should use values from LogLevels enum
184 :type log_level: int
185 """
186 res = MLModuleDLL.get_instance().set_log_level_ml_module(log_level)
187 if res != BrainFlowExitCodes.STATUS_OK.value:
188 raise BrainFlowError('unable to enable logger', res)
189
190 @classmethod
191 def enable_ml_logger(cls) -> None:
192 """enable ML Logger with level INFO, uses stderr for log messages by default"""
193 cls.set_log_level(LogLevels.LEVEL_INFO.value)
194
195 @classmethod
196 def disable_ml_logger(cls) -> None:
197 """disable BrainFlow Logger"""
198 cls.set_log_level(LogLevels.LEVEL_OFF.value)
199
200 @classmethod
201 def enable_dev_ml_logger(cls) -> None:
202 """enable ML Logger with level TRACE, uses stderr for log messages by default"""
203 cls.set_log_level(LogLevels.LEVEL_TRACE.value)
204
205 @classmethod
206 def set_log_file(cls, log_file: str) -> None:
207 """redirect logger from stderr to file, can be called any time
208
209 :param log_file: log file name
210 :type log_file: str
211 """
212 try:
213 file = log_file.encode()
214 except BaseException:
215 file = log_file
216 res = MLModuleDLL.get_instance().set_log_file_ml_module(file)
217 if res != BrainFlowExitCodes.STATUS_OK.value:
218 raise BrainFlowError('unable to redirect logs to a file', res)
219
220 @classmethod
221 def log_message(cls, log_level: int, message: str) -> None:

Callers 3

mainFunction · 0.90
mainFunction · 0.90
mainFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected