GithubHelp home page GithubHelp logo

itmo-nss-team / torchcnnbuilder Goto Github PK

View Code? Open in Web Editor NEW
18.0 4.0 1.0 5.61 MB

Framework for the automatic creation of CNN architectures

License: BSD 3-Clause "New" or "Revised" License

Python 100.00%
cnn-architecture cv open-source time-series torch

torchcnnbuilder's Introduction

TorchCNNBuilder


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)

Installation


The simplest way to install framework is using pip:

pip install torchcnnbuilder

Usage examples


The basic structure of the framework is presented below. Each subdirectory has its own example of using the appropriate available functionality. You can check <directory>_examples.ipynb files in order to see the ways to use the proposed toolkit. In short, there is the following functionality:

  • the ability to calculate the size of tensors after (transposed) convolutional layers
  • preprocessing an n-dimensional time series in TensorDataset
  • automatic creation of (transposed) convolutional sequences
  • automatic creation of (transposed) convolutional layers and (transposed) blocks from convolutional layers

The structure of the main part of the package:

├── examples
│ ├── builder_examples.ipynb
│ ├── preprocess_examples.ipynb
│ ├── models_examples.ipynb
│ └── tools                     # additional functions for the examples
└── torchcnnbuilder
    ├── preprocess
    │ └── time_series.py
    ├── builder.py
    └── models.py

Initially, the library was created to help predict n-dimensional time series (geodata), so there is a corresponding functionality and templates of predictive models (like ForecasterBase)

Sources


torchcnnbuilder's People

Contributors

chrislisbon avatar kdduha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

sorokinvld

torchcnnbuilder's Issues

Architecture refactoring

  • Переписать классы и функции без дублирования кода с докстрингами и комментариями
  • Избавиться от захардкоженных параметров, вынести их в переменные
  • Подумать над более подходящим названием классов и функций

Add examples

Добавить примеры:

Задача предсказания:

  • на тестовых данных о льде с разным числом каналов на входе и выходе
  • на тестовых данных о льде с разной размерностью картинки на входе и выходе
  • на тестовых данных изменяющихся структур (поискать видео, желательно с повторяющимися структурами пример)

Future plans

Here you can find some notes about plans for fixes or expansion of functionality in this framework:

  • add support for pooling and sampling torch layers
  • add support for 1- and 3-dimensional convolutions in the Builder class
  • add several other templates of ready-made architectures (Segnet, Unet, etc.)
  • add functionality for working with the internal vector representation of tensors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.