Vgslify

Latest version: v0.13.3

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

Scan your dependencies

Page 1 of 2

0.13.3

**Release Date**: October 2024

Bug Fixes:

1. **Rc3 with variable sequence length**

Variable size sequence length is now properly supported in Tensorflow.

Documentation

Documentation is available at: [VGSLify Documentation](https://timkoornstra.github.io/VGSLify/).

0.13.2

**Release Date**: October 2024

Bug Fixes:

1. **Rc3 with variable sequence length**

Variable size sequence length is now properly supported in Tensorflow.

2. **Version-agnostic Tensorflow input layer**

Model generator now uses `tf.keras.backend.is_keras_tensor` to check input type.

Documentation

Documentation is available at: [VGSLify Documentation](https://timkoornstra.github.io/VGSLify/).

0.13.1

**Release Date**: October 2024

Bug Fixes:

1. **RNN Layer Type Selection**:
- Fixed an issue where the correct layer type was not always chosen during the creation of RNN layers. The update ensures that both **LSTM** and **GRU** layers are selected properly according to the configuration.

2. **GRU Support for `summarize` Function**:
- Addressed a bug where the `summarize` function only worked for **LSTM** layers and not for **GRU** layers. Now, both LSTM and GRU models are properly summarized.

Documentation

Documentation is available at: [VGSLify Documentation](https://timkoornstra.github.io/VGSLify/).

0.13.0

**Release Date**: October 2024

New Features and Improvements:

1. **PyTorch Backend Support**:
- VGSLify now supports the **PyTorch backend**, alongside TensorFlow. This required updates to the LayerFactory base class to handle parsing the VGSL specification and configuring layers for PyTorch.
- The `TensorFlowLayerFactory` and `TorchLayerFactory` classes are now responsible for implementing their respective layer types.

2. **Refactor of VGSL Parsing and Layer Handling**:
- A base class has been introduced for parsing models back to the VGSL specification, with backend-specific subclasses handling the necessary package-specific logic.
- The overall codebase has been **simplified** by merging redundant functions. For example, `LSTM`, `GRU`, and bidirectional RNNs now share more common code, as do pooling layers like `AvgPool` and `MaxPool`.

3. **New `model_name` Parameter**:
- The `VGSLModelGenerator.generate_model` function now accepts a `model_name` parameter, allowing users to specify a custom model name instead of the default `"VGSL_Model"`.

4. **Reduced Code Duplication**:
- Significant reduction of duplicate code, particularly in the handling of RNNs (LSTM, GRU, bidirectional RNNs) and pooling layers (AvgPool, MaxPool).

5. **Updated Documentation**:
- The documentation, README, and examples have been updated to reflect all changes, including PyTorch support, the `model_name` parameter, and refactoring of VGSL parsing and layer handling.
- Tutorials and examples are available to guide users through the new features.

Documentation is available at: [VGSLify Documentation](https://timkoornstra.github.io/VGSLify/).

0.12.0

**Release Date**: September 2024

New Features and Improvements:

1. **Removal of Output Layer (`O`)**:
- The `O` (output) layer has been **removed** from the VGSL spec. Users can now define the final layer of their model by specifying a fully connected (`Fc`) layer, with the ability to use `Flt` for linear activation or other activations as needed.
- This change simplifies model definition by giving users more control over the architecture, especially for the output layer.

**Example**:
plaintext
Before:
... O1s10

Now:
... Fs10 Define output with fully connected layer and activation


2. **Rewritten Spatial Collapse (`Rc`)**:
- The spatial collapse functionality has been revised to support two types of collapses:
- `Rc2`: Collapses spatial dimensions into a 2D tensor, suitable for transitioning into fully connected (dense) layers.
- `Rc3`: Collapses spatial dimensions into a 3D tensor, making it compatible with sequential layers such as LSTMs or RNNs.
- Users should choose `Rc2` when transitioning to dense layers and `Rc3` when continuing with layers that process sequential information.

**Example**:
plaintext
For fully connected layers:
... Cr3,3,64 Mp2,2,2,2 Rc2 Fc128

For sequential models:
... Cr3,3,64 Mp2,2,2,2 Rc3 Lfs50


3. **Updated Documentation**:

- The official documentation has been updated to reflect the changes to the `Rc` layer and the removal of the `O` layer.
- New tutorials and examples have been added to guide users in updating their VGSL specs and taking advantage of the new features.
- Documentation is available at: [VGSLify Documentation](https://timkoornstra.github.io/VGSLify/).

0.11.0

**Release Date**: September 2024

New Features and Improvements:

1. **Simplified Layer and Model Creation**:
- **Automatic Layer Generation**: Users can now generate individual layers from a VGSL spec string with the `construct_layer()` method. The generator automatically determines the correct layer type, making it easier to integrate VGSL-defined layers into existing models.
- **Layer History Inspection**: A new `generate_history()` method allows users to inspect the sequence of layers generated from a VGSL spec without building or chaining them. This is particularly useful for debugging and experimenting with layer compositions.

2. **Improved Reshape Layer Handling**:
- **Spatial Collapse (`Rc`)**: The generator now correctly distinguishes between spatial collapse (`Rc`) and general reshape operations (`R{x,y,z}`) based on the previous layer’s shape.

3. **Refactored and Streamlined API**:
- **Single Class, Multiple Models**: The `VGSLModelGenerator` now initializes without a model spec, allowing the same instance to be used for generating multiple models. You can pass different spec strings to methods like `generate_model()` or `generate_history()`, reducing the need to instantiate multiple generator objects.

4. **Enhanced Documentation and Usability**:
- **README Updates**: The documentation has been updated to reflect the new, simplified API. Users can now quickly generate models, individual layers, or inspect layer history using the streamlined methods.
- **Code Examples**: The documentation now includes examples that demonstrate how to use the new features, including BYOB backend selection, individual layer generation, and history inspection.

Bug Fixes:
- **None Dimensions**: Fixed an issue where the `Reshape` layer's target shape contained `None` dimensions, ensuring that such cases are handled correctly by substituting `None` with `1`.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.