Skip to content

Commit

Permalink
Gv/doc2 (#105)
Browse files Browse the repository at this point in the history
* u

* Update README.md

* Update README.md

* Update README.md

* Update GS101_core_objects.ipynb

* Update README.md

* Update GS111_first_model.ipynb

* Update README.md

* Update GS111_first_model.ipynb

* u

* Update .gitignore

* Update GS111_first_model.ipynb

* Update GS121_modules.ipynb

* Update GS111_first_model.ipynb

* Update README.md

* Update GS131_methods.ipynb

* Update README.md

* Update README.md

* Update GS141_applications.ipynb

* Update README.md

* u

* Update README.md

* Update README.md

* Update README.md

* Update GS101_core_objects.ipynb

* Update README.md

* Update GS111_first_model.ipynb

* Update README.md

* Update GS111_first_model.ipynb

* u

* Update .gitignore

* Update GS111_first_model.ipynb

* Update GS121_modules.ipynb

* Update GS111_first_model.ipynb

* Update README.md

* Update GS131_methods.ipynb

* Update README.md

* Update README.md

* Update GS141_applications.ipynb

* Update README.md

* Update GS141_applications.ipynb

* Update README.md

* u

* Update GS131_methods.ipynb

* u

* Update GS141_applications.ipynb

* Update README.md

* Update GS151_models.ipynb

* u

* u

* u

* Update README.md

* u

* Update AD201_mappings.ipynb

* Update GS151_models.ipynb

* u

* Update DT101_files.ipynb

* u
  • Loading branch information
giovannivolpe authored May 14, 2024
1 parent 568998e commit 66d5351
Show file tree
Hide file tree
Showing 22 changed files with 5,855 additions and 1,967 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@ dist/
# Mac
*.DS_Store

package.json
# Tutorial files
tutorials/getting-started/model.pth
63 changes: 54 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
Deeplay is a deep learning library in Python that extends PyTorch with additional functionality focused on modularity and reusability. It facilitates the definition, training, and adjustment of neural networks by introducing dynamic modification capabilities for model components after their initial creation. Deeplay seeks to address the common issue of rigid and non-reusable modules in PyTorch projects by offering a system that allows for easy customization and optimization of neural network components.
Deeplay is a deep learning library in Python that extends PyTorch with additional functionalities focused on modularity and reusability. It facilitates the definition, training, and adjustment of neural networks by introducing dynamic modification capabilities for model components after their initial creation. Deeplay seeks to address the common issue of rigid and non-reusable modules in PyTorch projects by offering a system that allows for easy customization and optimization of neural network components.

# Core Philosophy

The core philosophy of Deeplay is to enhance flexibility in the construction and adaptation of neural networks. It is built on the observation that PyTorch modules often lack reusability across projects, leading to redundant implementations. Deeplay enables properties of neural network submodules to be changed post-creation, supporting seamless integration of these modifications. Its design is based on a hierarchy of abstractions from models down to layers, emphasizing compatibility and easy transformation of components. This can be summarized aqs follows:

- **Enhance Flexibility:** Neural networks defined using Deeplay should be fully adaptable by the user, allowing for dynamic modifications to model components. This should be possible without the author of the model having to anticipate all potential changes in advance.
- **Enhance Flexibility:** Neural networks defined using Deeplay should be fully adaptable by the user, allowing dynamic modifications to model components. This should be possible without the author of the model having to anticipate all potential changes in advance.
- **Promote Reusability:** Deeplay components should be immediately reusable across different projects and models. This reusability should extend to both the components themselves and the modifications made to them.
- **Support Seamless Integration:** Modifications to model blocks and components should be possible without the user worrying about breaking the model's compatibility with other parts of the network. Deeplay should handle these integrations automatically as far as possible.
- **Hierarchy of Abstractions:** Neural networks and deep learning is fundamentally hierarchical, with each level of abstraction being mostly agnostic to the details of the levels below it. An application should be agnostic to which model it uses, a model should be agnostic to the specifics of the components it uses, a component should be agnostic to the specifics of the blocks it uses, and so on. Deeplay reflects this hierarchy in its design.
- **Hierarchy of Abstractions:** Neural networks and deep learning are fundamentally hierarchical, with each level of abstraction being mostly agnostic to the details of the levels below it. An application should be agnostic to which model it uses, a model should be agnostic to the specifics of the components it uses, a component should be agnostic to the specifics of the blocks it uses, and so on. Deeplay reflects this hierarchy in its design.

# Deeplay Compared to Torch

Expand Down Expand Up @@ -36,10 +36,55 @@ This will automatically install the required dependencies, including PyTorch and
## Getting Started

Here you find a series of notebooks that give you an overview of the core features of Deeplay and how to use them:
- **[Understanding the Core Objects in Deeplay](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS101_core_objects.ipynb)**
- **[Training Your First Model](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS111_first_model.ipynb)**
- **[Configuring Deeplay Objects](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS121_configure.ipynb)**
- **[Using the Main Deeplay Methods](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS131_methods.ipynb)**
- **[Using the Main Deeplay Applications](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS141_applications.ipynb)**
- **[Using the Main Deeplay Models](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS151_models.ipynb)**

- GS101 **[Understanding the Core Objects in Deeplay](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS101_core_objects.ipynb)**

Layers, Blocks, Components, Models, Applications.

- GS111 **[Training Your First Model](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS111_first_model.ipynb)**

Creating, training, saving and using a deep learning model with Deeplay.

- GS121 **[Working with Deeplay Modules](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS121_modules.ipynb)**

Differences between Deeplay and PyTorch modules. How to create, build, and configure Deeplay modules.

- GS131 **[Using the Main Deeplay Methods](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS131_methods.ipynb)**

`Application.fit()`, `Application.test()`, `DeeplayModule.predict()`, `Trainer.fit()`.

- GS141 **[Using Deeplay Applications](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS141_applications.ipynb)**

Main Deeplay applications. Controlling loss functions, optimizers, and metrics. Training history. Callback.

- GS151 **[Using Deeplay Models](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS151_models.ipynb)**

Main Deeplay models. Making a model. Weight initialization.

- GS161 **[Using Deeplay Components](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS161_components.ipynb)**

Main Deeplay components.

- GS171 **[Using Deeplay Blocks](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS171_blocks.ipynb)**

Main Deeplay blocks. Adding, ordering, and removing layers. Operations.

- GC181 **[Configuring Deeplay Objects](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS181_configure.ipynb)**

`DeeplayModule.configure()` and selectors.

- GC191 **[Using Styles](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/getting-started/GS191_styles.ipynb)**

Styles.

## Advanced Topics

- AT201 **[Using Mappings as Inputs](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/advanced-topics/AT201_mappings.ipynb)**

## Developer Tutorials

Here you find a series of notebooks tailored for Deeplay's developers:

- DT101 **[Deeplay File Structure](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/developers/DT101_files.ipynb)**

- DT111 **[Style Guide](https://github.com/DeepTrackAI/deeplay/blob/develop/tutorials/developers/DT111_style.ipynb)**
Loading

0 comments on commit 66d5351

Please sign in to comment.