Releases: funkelab/gunpowder
Releases · funkelab/gunpowder
v1.4.0
changelog:
features
add probability for applying augmentation nodes via an overrideable can_skip method.
errors now print in reversed order
improve CSVReader to use built in python csv reader
torch predict supports arrays as position arguments
add funlib.persistence.Array source
add ScanCallback
bugfixes:
pytorch train: move hooks to being added in start method. This caused problems when trying to run the model in some multithreaded use cases.
Deform Augment subsampling fixed
avoid np.sctypes["float"] to work on numpy >= 2.0
v1.3.4
Bug fixes:
- Snapshot node: removed depricated numpy function
np.asscalar
. Improved docstring to mention zarr storage options - Moved two sources from tests to gunpowder.
GPArraySource
andGPGraphSource
which make it easy to provide data directly to your pipeline by providing a simple array or graph along with their associated key. - remove many references to depricated
scipy.ndimage
submodules (measurements
,morphology
,interpolation
). - Simplify the
RandomLocation
provide
method since it doesn't need the same features as theBatchFilter
it inherits from. - Fix subsampling in the
DeformAugment
. Add tests to cover this behavior
v1.3.3
- Fix bugs in RasterizeGraph edge coloring
- Resample Node no longer results in volume shrinkage by 1 pixel
- SpecifiedLocation won't get stuck in an infinite loop if None of the points to choose from are valid, instead throws an error.
- removed references to
np.float128
which may not be available on all platforms (mac). Tests now pass on mac. - Removed code for python 2 compatibility
- padding falls back on 'constant' if mode provided is not supported
v1.3.2
Merging patch branch into master and making new release
Change Log:
bugs fixed:
- torch nodes forward hooks moved to start method of nodes to work better with the
spawn_subprocess
flag - torch train/predict work when setting multiprocessing start method = "spawn"
- fixed bug in rasterize graph due to usage of the old api for accessing graph nodes
new features:
- torch nodes support defining specific cuda devices via e.g. "cuda:0"
- added support for "reflect" mode padding in the pad node
- improved error printing.
- Reversed the order of exceptions so the cause of the error is printed at the bottom, and you can scroll up to trace the requests and batches through the tree. Now we no longer need to scroll to the top to see the cause of the error,
- PreCache and other multiprocessing nodes no print repeats of the same error, it is simply printed once
- removed unhelpful tracebacks (and many repititions) for the
try
,except
blocks in node superclasses
general improvements:
- moved many tests from unittest to pytest, adding parametrization to simplify them and cover more cases
- improved the dependency version bounds
- improved docs, formatting, and pass more ci/cd workflows
- removed unused imports and f-strings
V1.3.1
Bug fixes:
- RandomLocation is more robust to rounding errors when selecting locations based on points
- Request seeds have been updated to be less likely to accidentally repeat
- Torch Predict can now take checkpoints that were saved directly instead of as dicts
- zarr read/write now properly inverts voxel size for n5 containers
v1.3
Change log:
Features:
- Added
GraphSource
with tests and added to docs - Added
IterateLocations
node with tests and added to docs - Added
write_if
helper function toSnapshot
that can be overwritten for data dependent snapshot saving - Added Jax
Train
/Predict
nodes RandomLocation
can save the chosen location to a nonspatial array.- support the
spawn
start method for gunpowder subprocesses ZarrSource
andZarrWrite
now matchzarr.open
convenience functionHDF5LikeSource
andHDF5LikeWrite
depricatedElasticAugment
depricatedDeformAugment
replacesElasticAugment
and works in world units.
Dependencies:
- Switched to
funlib.geometry
forRoi
andCoordinate
to make use with daisy and other similar libraries simpler - Update daisy version in dependencies
Bug Fixes:
- avoid hanging teardown in generic predict if worker process dies
- fix nonspatial array handling during training
- up/downsampling arrays with channel dimensions works now
- removed depricated numpy dtypes (np.int, np.bool, ...)
v1.1
Change log:
- add PyTorch
Train
andPredict
nodes - introduce
gunpowder.Graph
to replacegunpowder.Points
- add support for non-spatial arrays (like one-hot classification vectors)
- add
Stack
to create batches with multiple samples - add
Upsample
- improved logging/error messages
- guarantee availability of requested dependencies, independent of other node's requests
- several minor bugfixes