Skip to main content

ice-learn

ice is a sweet extension of PyTorch, a modular high-level deep learning framework that extends and integrates PyTorch and PyCUDA with intuitive interfaces. We aims not only to minimize the boilerplate code without loss of functionality, but also maximize the flexibility and usability for extending and composing any deep learning tasks into an integrate multi-task learning program.

NOTE: It is currently in pre-alpha versions, and the API is subject to change.

Features

  • Minimize Boilerplates: You don't need to repeat yourself.

    • Config Once, Use Everywhere: Every mutable class can be converted into a configurable. Configuration for deep learning project has never been this easy before. A tagging system to manage and reuse any type of resources you need.
    • Inplace Argument Parser: You can parse command line argument instantly without a long page of previous definition.
  • Maximize Flexiblility: Painless and Incremental Extension from CUDA to non-standard data-preprocessing and training schedules for multi-task learning.

    • The kernel data structure of ice is a Hypergraph that manages different module nodes (e.g. ice.DatasetNode, ice.ModuleNode, etc.) that are switchable between multiple user-defined execution modes. Extending a new dataset, network module or loss function is by adding new nn.Datasets, nn.Modules and python callables to specific mode of the entire graph.
    • We provide PyCUDA support by automatically managing the PyCUDA context as well as providing a simplified torch.Tensor class wrapper that supports efficient multi-dimensional element access in CUDA codes. This feature manages to make writing, compile, execution and testing CUDA extensions for PyTorch extremely fast. We also provide a VSCode extension for PyCUDA docstring highlight.
    • We support Multi-Task Learning training by finding the Pareto Optimal for each task weight so that you do not need to tune them manually. (TODO)
    • We support dill-backended Elastic Multiprocessing launch and management that is compitable with Lambda Function and Closures. You can not only build multi-gpu or multi-machine Data Distributed Parallel training program without effort, but also doesn't require to concern about pickability of any part of program in your application. We actually suggest heavy use of lambda functions such as for simple input and output transforms of modules. This feature also contributes to the minimal boilerplates aim of ice.

Install

pip install ice-learn (Recommended)

or pip install .[dev] after a git-clone for developers.

Documentation

You can access documentation through Online Documentation Site, or the docs subdirectory directly. The documentation is partial auto-generated from comment, and partial manually written, the note on how we produce the documenation can be found here.

Metadata

Release files for ice-learn 0.4.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ice-learn 0.4.8
File Size Uploaded
ice-learn-0.4.8.tar.gz 90.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ice-learn 0.4.8
File Interpreter ABI Platform
ice_learn-0.4.8-py3-none-any.whl Python 3 none any Details

Total release size: 200.3 kB

Release files / ice-learn-0.4.8.tar.gz

Download URL ice-learn-0.4.8.tar.gz
Size 90.5 kB
Tags Source
SHA-256 checksum
How to use checksums
985acd320a8cb3ab67de2aad1e852cc2fd991b7861fcde52d1b8f9ebabf35757
BLAKE2b-256 checksum
How to use checksums
9c2613e2d7c88da38651b25e6c93ccc0607d92d62f488a7fb91e2ebb96701ce9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Release files / ice_learn-0.4.8-py3-none-any.whl

Download URL ice_learn-0.4.8-py3-none-any.whl
Size 109.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a74283e6e55eae14bf756533a76d87d4ac2a59926e5a0212ac0f2b8e8c774536
BLAKE2b-256 checksum
How to use checksums
e6145278d37344a21c4e8c6e3eaf91e29da90d8fc94589d0de3a753c3a7c3b03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Release history Release notifications | RSS feed

This release

0.4.8 This release

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.0.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page