Releases: explosion/thinc
v7.3.1: Relax dependecy requirements
🔴 Bug fixes
- Relax version range of
plac
to match spaCy.
v7.3.0: Mish activation and experimental optimizers
✨ New features and improvements
- Add Mish activation. Use via the
thinc.v2v.Mish
layer, which computesf(X) = mish(W @ X + b)
. CUDA and Cython kernels are included to make the activation efficient. - Add experimental support for RAdam to the optimizer. Enable it with the keyword argument
use_radam
toTrue
. In preliminary testing, it's a small change that's worth enabling. - Add experimental support for Lookahead to the optimizer. Enable it by setting the keyword argument
lookahead_k
to a positive integer. In preliminary testing, it helps if you're not using parameter averaging, but with averaging it's a bit worse. - Add experimental support for LARS to the optimizer. Enable it by setting
use_lars
toTrue
. In preliminary testing, this hasn't worked well at all – possibly our implementation is broken.
🙏 Acknowledgements
Big thanks to @digantamisra98 for the Mish activation, especially the extensive experiments and simple gradient calculation. We expect to be using the activation in the next round of spaCy models.
Gratitude to the fast.ai community for their crowd-sourced experiments, and especially to users @lessw2020, @mgrankin and others for their optimizer implementations, which we referenced heavily when implementing the optimizers for Thinc. More importantly, it's super helpful to have a community filtering the deluge of papers for techniques that work on a few different datasets. This thread on optimization research was particularly helpful.
v7.2.0: Simpler GPU install and bug fixes
✨ New features and improvements
- Ditch
thinc_gpu_ops
for simpler GPU install. - Improve GPU support and PyTorch wrapper.
🔴 Bug fixes
- Fix issue #47: Fix
ExtractWindow
nW>=2
. - Fix issue #51: Ditch
thinc_gpu_ops
for simpler GPU install. - Fix issue #88: Fix Quora URL in datasets.
- Fix issue #115: Fix compilation on cygwin.
👥 Contributors
Thanks to @rupsaijna and @KoichiYasuoka for the pull requests!
v7.1.1: Support preshed v3.0.0
✨ New features and improvements
- Allow support for
preshed
v3.0.0, which includes some bug fixes when items are deleted from the table, and also features Bloom filters. - Use
collections.abc
when possible and avoid deprecation warning.
👥 Contributors
Thanks to @hervenicol for the pull request!
v7.1.0: Support other CPUs, read-only arrays
✨ New features and improvements
-
Support read-only numpy arrays, by specifying
const
in Cython memory-view types. Read-only arrays are helpful for shared-memory multiprocessing, e.g. from Apache Arrow's Plasma object store. -
Update to
cython-blis
v0.4, which supports non-x86_64 CPU architectures. For wide (but slow) support, you can specify the environment variableBLIS_ARCH=generic
before installing.
v7.0.8: Fix version for PyPi
🔴 Bug fixes
- Fix version number for PyPi.
v7.0.7: Avoid allocating a negative shape for ngrams
🔴 Bug fixes
- Avoid allocating a negative shape for ngrams.
👥 Contributors
Thanks to @svlandeg for the pull request!
v7.0.6: Fix LinearModel regression
🔴 Bug fixes
- Fix regression in
LinearModel
class introduced in v7.0.5.
v7.0.5: Bug fixes for pickle, threading, unflatten and consistency
🔴 Bug fixes
- Fix issue #98: Fix syntax error in
CPickle
import. - Fix issue #102: Fix bug that could make
HashEmbed
results inconsistent across runs. - Fix issue #104: Fix unflatten padding when last element is empty.
- Fix issue #97: Pickling error on
LinearModel
. - Fix issue with creating
Model
instances in child threads with operator overloading.
👥 Contributors
Thanks to @giannisdaras, @simonhkswan, @chssch and @svlandeg for the pull requests and contributions.
v7.0.4: Don't require thinc_gpu_ops
🔴 Bug fixes
- Don't require
thinc_gpu_ops
.