thinc  by explosion

DL library for composing models, emphasizing functional programming

created 10 years ago
2,866 stars

Top 17.0% on sourcepulse

GitHubView on GitHub
Project Summary

Thinc is a lightweight, functional deep learning library designed for composing and deploying custom models. It targets developers and researchers who need a flexible interface to build neural networks, offering seamless integration with PyTorch, TensorFlow, and MXNet, and providing a robust configuration system.

How It Works

Thinc employs a functional programming paradigm, emphasizing model composition over inheritance. This approach, combined with custom types and a mypy plugin, enables type-checked model definitions. It supports wrapping models from other frameworks and includes an extensible backend system for operations, allowing users to choose between NumPy and CuPy.

Quick Start & Requirements

  • Install via pip: pip install thinc
  • Recommended: pip install -U pip setuptools wheel
  • Compatibility: Python 3.6+, Linux, macOS, Windows.
  • Optional dependencies for backends and GPU are detailed in extended installation docs.
  • Note: If using PyTorch with Python 3.7+, uninstall dataclasses (pip uninstall dataclasses).

Highlighted Details

  • Type-checked model definitions with custom types and mypy plugin.
  • Seamlessly wrap PyTorch, TensorFlow, and MXNet models.
  • Integrated configuration system for defining model architectures and hyperparameters.
  • Extensible backends supporting NumPy and CuPy.

Maintenance & Community

Thinc is developed by the creators of spaCy and Prodigy. Further community engagement details are not explicitly provided in the README.

Licensing & Compatibility

The README does not explicitly state the license. Compatibility for commercial use or closed-source linking is not detailed.

Limitations & Caveats

The README does not detail specific limitations, unsupported platforms, or known caveats. Building from source requires a compiler for C extensions.

Health Check
Last commit

3 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
0
Star History
25 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.