Ecnet

Latest version: v4.1.4

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

3.3.2

Per ECabc's API changes in its 3.0.0 update, this ECNet update incorporates these changes into all relevant functions.

3.3.1

- _ecnet.models.mlp.MultilayerPerceptron_'s implementation now makes sense, and leads to faster training times
- some database cleanup
- in case ECNet is not utilized to use a pre-trained project, input QSPR descriptor names are also saved inside the project (DataFrame object not required)

3.3.0

- Addition of validated, PaDEL/alvaDesc-generated YSI databases
- Update to repository links, author information
- ecnet.utils.data_utils now forces UTF-8 encoding for all database creation/saving
- ML back-end updated to TensorFlow 2.0.0
- No API changes to _ecnet.models.mlp.MultilayerPerceptron_
- Existing .h5 model files **will not work** with the updated class

_**Note:** initially, PyTorch was looked at as an alternative; however, after tests to evaluate performance were conducted and the viability of installing PyTorch on high-performance machines available to the ECRL were both deemed inadequate, updating to TensorFlow 2.0.0 was deemed the most appropriate action._
- Only the following hyper-parameters are tuned with the built-in functions:
- **Learning rate** of Adam optimization function
- **Learning rate decay** of Adam optimization function
- **Batch size** during training
- **Patience** (if validating, epochs to wait for better validation loss, else terminate training)
- **Size** of each hidden layer

_**Note:** with the relatively small number of samples our models are trained with, it does not make sense to adjust hyper-parameters such as **beta_1**, **beta_2**, and **epsilon**. The hyper-parameters listed above are theorized to play a much more important role with how the models train/perform._
- Added the UML ECRL's general publication workflow as _ecnet.workflows.ecrl_workflow.create_model_
- If using _ecnet.Server_ and not creating a project, a single model's filename can now be specified as an additional argument (default: _model.h5_)
- TensorFlow's _verbose_ argument is now propagated from _ecnet.Server.train_ to the model during training; added as an additional argument
- _ecnet.models.mlp.MultilayerPerceptron.fit_ now returns a tuple: _(learn losses, validation losses)_; _learn losses_ and _validation losses_ are both lists containing loss values (mean squared error) at every epoch; if training a single model using _ecnet.Server.train_, this tuple is returned; if not performing validation, the _validation losses_ list is populated with _None_ elements equal in size to the _learn losses_ list
- If installing using _setup.py_, installing TensorFlow is optional; to skip the installation of the pre-compiled PyPI distribution of TensorFlow, run _setup.py_ with **python setup.py --omit_tf install**

_**Note:** other methods of installing TensorFlow offer clear benefits (GPU support, different CPU instruction sets, etc.), therefore we want to provide an option for the user to use an existing installation of TensorFlow instead of forcing the PyPI-sourced version._

3.2.3

- If validation/test sets are empty, input parameter limiting processes will still run
- _Server.limit\_inputs_ now correctly returns input parameter names, importances

3.2.2

- _ecnet.Server.remove_outliers_ and _ecnet.tasks.remove_outliers_ have been removed
- _while detecting outliers may be beneficial in determining abnormalities in data, removing them entirely is likely not the right approach (in terms of fuel property prediction). Once a viable usage has been determined, outlier detection will be included._
- Added the _batch_size_ hyper-parameter, included in the default model configuration and hyper-parameter tuning process
- Relevant unit tests updated
- Any missing model configuration variables from config files generated with previous versions of ECNet will now be set to their default values
- Additional unit tests added
- Added option to convert SMILES to MDL during PaDEL-based database creation
- Additional unit test added
- Added PaDEL-generated databases for all properties
- _ecnet.tasks.limit\_inputs.limit\_rforest_ now relies on _sklearn.ensemble.RandomForestRegressor_ as its only dependency
- _limit\_rforest_ now returns list of parameter names/importances instead of a modified DataFrame
- _Server.limit\_inputs_ also returns a list of parameter names/importances
- Removed the _ditto-lib_ dependency
- Bug fixes:
- _Server.\_sets_ now loads when a PRJ file is opened via _ecnet.Server_
- _ecnet.utils.data\_utils.DataFrame.set\_inputs_ now immediately applies selected inputs to L/V/T sets
- _ParityPlot_ parity lines now scale to reflect data minimum/maximum
- More robust unit tests for MultilayerPerceptron, database creation, input parameter limiting
- All unit tests may now be run individually

3.2.1

- Training an MLP using a validation set now uses Keras' early stopping callback to determine learning cutoff, preserves weights at best validation loss
- Moved multiprocessing.set_start_method to multiprocessed tasks

Page 2 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.