Description in Russian is presented here.
TorchCNNBuilder is an open-source framework for the automatic creation of CNN architectures.
This framework should first of all help researchers in the applicability of CNN models for a
huge range of tasks, taking over most of the writing of the architecture code.
This framework is distributed under the 3-Clause BSD license. All the functionality is written
only using pytorch
(no third-party dependencies).
The simplest way to install framework is using pip
:
pip install torchcnnbuilder
Minimum technical requirements
The minimum system requirements for using the library are a Python interpreter version >3.9 and access to a computing system running Windows/Linux. The minimum hardware requirements include a processor (CPU) with 8 cores, 2GB of RAM, a graphics processor (GPU) with 8GB of VRAM, and 2GB of HDD storage.Additional packages for examples run
Please note that when running examples from the examples folder, additional libraries are used to visualize and generate the dataset:
pip install numpy
pip install pytorch_msssim
pip install matplotlib
pip install tqdm
They are not required for the library to work, so their installation is optional.
To initialize simple model with encoder-decoder architecture call ForecasterBase
class:
from torchcnnbuilder.models import ForecasterBase
model = ForecasterBase(input_size=[H, W],
in_time_points=C_in,
out_time_points=C_out,
n_layers=5)
Where [H, W]
- size of image in pixels, C_in
- number of input channels, C_out
- number of out_channels.
To operate separately with encoder and decoder parts they can be called from model:
encoder = model.encoder
decoder = model.decoder
Extensive usage scenarios can be found in examples folder.
Components calls and usage in folder usage_examples.
Check the documentation here.
In order to check available local Makefile
commands run in the project root:
make help
help: Show help for each of the Makefile recipes.
lint: Lint the project with flake8 lib.
doc: Build and run the doc locally.
TorchCNNBuilder enables CNN architectures for diverse real-world applications across multiple domains:
-
Sea ice concentration forecasting
Predict Arctic and Antarctic ice melt patterns to support climate research and maritime navigation safety using satellite imagery time series. -
Climate pattern recognition
Analyze large-scale atmospheric data to identify emerging weather patterns, extreme event precursors, and long-term climate trends. -
Pollution level prediction
Process multispectral sensor data to forecast air/water quality indices and identify pollution sources with spatial CNN architectures.
-
Satellite image analysis
Process high-resolution multispectral imagery for applications ranging from urban planning to precision agriculture using specialized encoder architectures. -
Land cover classification
Automate large-scale terrain mapping with attention-based CNNs that handle spectral, spatial and temporal dimensions of data. -
Disaster monitoring
Develop change detection systems that compare pre/post-event satellite imagery to assess flood, fire or earthquake damage in near-real-time.
-
Automated diagnosis from X-ray/MRI scans
Develop assistive diagnostic systems that can detect abnormalities in medical images with pixel-level precision while reducing radiologist workload. -
Tumor segmentation
Create 3D convolutional networks for precise volumetric analysis of cancerous growths in CT/MRI scans. -
Medical time-series analysis
Process sensor streams to predict patient deterioration through temporal features processing architectures.
-
Predictive maintenance
Monitor equipment vibration patterns and thermal signatures to forecast mechanical failures. -
Quality control in manufacturing
Implement real-time visual inspection systems that detect defects in production lines.
-
Time-series prediction
Build hybrid CNN-LSTM architectures that extract both spatial patterns from market heatmaps and temporal dependencies from price histories. -
Market trend analysis
Process alternative data sources like satellite images of parking lots or social media sentiment through CNN architectures.
- Forecasting of Sea Ice Concentration using CNN, PDE discovery and Bayesian Networks
- Surrogate Modelling for Sea Ice Concentration using Lightweight Neural Ensemble
- Post about framework development on habr.com - in russian
-
To join the project feel free to contact us;
-
Issues and Pull Requests: submit bugs found or log feature requests.
The project is supported by FASIE - Foundation for Assistance to Small Innovative Enterprises.