Changelog#
Version 3.11.0#
Release Data: July 2026
Install: pip install netloader==3.11.0
Additions:
Added
MultiNetwork.Added error when importing
NormFlowandNormFlowEncoderfromarchitecturesandSplineFlowwithoutZukopackage.Added RNG state saving to
BaseArchitecture.Added
extraargument to_lossand_loss_tensormethods ofBaseArchitecture.Added option for callable functions/objects for
BaseArchitecture._loss_weights.Added
BaseArchitecture._stepmethod for each iteration.Added support for more schedulers in
BaseArchitecture._update_scheduler.Added
get_param_groups()method to define optimiser param groups.Added
BaseArchitecturesave frequency.Added
descriptionargument toBaseLayer.Added support for multiple layer outputs to
BaseMultiLayer.Added forward pass to
BaseMultiLayerto pack outputs.Added
__add__()magic method.Added
get_data()method.Added
step()method.Added
loader_init()function to initialise data loaders.Added
activation_kwargstoActivation.Added
GeneralLossfor anynnloss function.Added
BaseNetwork.Added
get_config()method.Added
Branch.Added
schedulers.Added
BaseTypeTransformwhere input output has same type.Added support for loading networks with different weight names if weight shapes match.
Added
Network._logger attribute.Added
Network._load_state_dict method.Added more type hints.
Changes:
Changed
Concatenate,Pack,Shortcut,Skip, &Unpacklayers to be undermulti_layer.Changed
BaseArchitectureto only flag overwriting if base name is matching.Changed
Data.__repr__type to give specific type.Changed
NormFlowEncoderto allow different learning rates for normalising flow and encoder.Changed
BaseTransformto abstract class.Changed
BaseTransformto allow different input output types.Changed
safe_globalsto allow only accepting classes defined in__all__.Changed
BaseArchitectureto abstract class.Changed
BaseLayerto abstract class.Changed Python version to 3.14.
Changed package versions.
Removals:
Removed support for networks saved in old deprecated weights format.
Deprecations:
Deprecated
networksfor name change to architectures.Deprecated
set_optimiser&set_schedulerforinit_optimiserandinit_schedulermethods.
Fixes:
Fixed
save()method not recovering on SystemExit.Fixed
BaseArchitecturenot changing Network device if compiled.Fixed
BaseConfig.__setattr__using incorrect type hints.Fixed back-propagation issue with
Sample.Fixed loading RNG states if state was saved on GPU.
Version 3.10.1#
Release Date: February 2026
Install: pip install netloader@git+https://github.com/EthanTreg/PyTorch-Network-Loader@2c1c4c3
Additions:
Added
Dropoutlayer.Added
compare_versions()for version comparison.Added
dict_list_append(),dict_list_convert(), andlist_dict_convert().Added
suppress_logger_warnings()wrapper to suppress warnings for a module.Added NetLoader version to
BaseLayer.Added
BaseLayer.__getstate__magic method.Added
compile()method.Added
get_losses()method.Added loss weights to
BaseArchitecturewithgetandsetloss_weightsmethods and automatic calculation of total loss.Added
ConvNeXt._stemprivate method.Added
padding_modekeyword argument to convolutional layers.Added support for
DataListinputs indata_collation().Added support for
ModuleListwithCompatibleNetwork.Added
pool_kwargskeyword argument toPool.Added
packagingas requirement.Added
Padlayer.Added
get_save_path.
Changes:
Changed
BaseMultiLayer._targetattribute to acceptlist[list[int]]shapes.Changed activation functions to use
inplacewhere possible by default.Changed
DataListlength to return data length rather than list length.Changed
Autoencoderto use a dictionary for loss terms.Changed
Autoencoderto use a dictionary for loss weights.Changed
NormFlowEncoderto use a dictionary for loss weights.Changed package versions.
Removals:
Removed deprecated
BaseLayer.layersattribute.
Deprecations:
Deprecated
BaseArchitecture.save_pathattribute and replaced withset_save_path()method.Deprecated
Network.configattribute and replaced withget_config()method.Deprecated
ArrayTCand replaced withArrayCT.Deprecated Python versions < 3.12.
Fixes:
Fixed batch printing from
BaseArchitecturenot using total loss.Fixed reduced precision training.
Fixed total loss for loss functions returning dictionaries without total key.
Fixed
OrderedBottleneckblocking last feature.Fixed
Checkpointnot saving combined outputs.Fixed
to()method not working for non-tensors incheckpointsattribute.Fixed
Normalisescale zero division.Fixed network name in
BaseArchitecture.__repr__magic method.Fixed formatting of
BaseArchitecture.__repr__.Fixed
BaseArchitecture._loggernot initialised from saved state.Fixed getting
BaseArchitecture.save_pathdeprecation.Fixed overwrite errors from
set_save_path()if new save path is same as original.Fixed same asymmetric padding for convolutional and pooling layers.
Fixed false deprecation warning in
CompositelayerFixed incorrect attribute saving for
AdaptivePool.Fixed type hints for
Shapes.
Version 3.9.4#
Release Date: October 2025
Install: pip install netloader@git+https://github.com/EthanTreg/PyTorch-Network-Loader@v3.9.4
Additions:
Added base layers to
layers.Added
save_freqattribute toBaseArchitecture.Added keyword argument check to
AdaptivePool.Added
get_hyperparams()method.
Changes:
Changed
Networkto not convert to CPU when saving.Changed some type hints.
Deprecations:
Deprecated
ArrayTCforArrayCT.
Fixed:
Fixed support for some old NetLoader versions.
Fixed save corruption of
BaseArchitectureduring keyboard interrupt.Fixed keyword argument name clash in
Index.
Version 3.9.1#
Release Date: October 2025
Additions:
Added
BaseSingleLayerclass.Added
Shapesclass.Added
Dataclass for data & uncertainties.Added
DataListclass for storing multiple arrays or tensors.Added
BaseArchitectureloss dictionary support.Added support to
BaseArchitecturefor list of transforms.Added
DataListsupport toBaseArchitecture.Added
BaseArchitecture._loss_tensormethod.Added
Datasupport toBaseTransform.Added
ConvNeXt._headmethod.Added
return_idxstoloader_init().Added
data_collation()to collate lists of arrays, tensors,Data, andDataListobjects.Added
loss_funcargument toBaseEncoder.Added
GaussianNLLLossclass.Added
Packclass.Added
layer&checkpointarguments toUnpack.Added support for
DataListto several layers.Added
CompatibleNetworkclass.Added
Network.versionattribute.Added
len,iter, andgetitemmagic methods toNetwork.Added
labelkeyword argument toascii_plot().Added several types in
typesmodule.Added
BatchNormlayer.Added support to set total loss in
BaseArchitectureif loss is a dictionary.Added option to only pack output from previous layer in
Packlayer.Added
rootkeyword argument toNetworkfor loading networks and composite layers.
Changes:
Changed layers to use
Shapesclass for layer shapes.Changed most methods and functions to not allow positional arguments for keyword arguments.
Changed
predict()to not return None values.Changed
load_arch()to acceptkwargsto pass toload().Changed
ConvNeXtBlocktolayers.Changed
Indexlayer to use indexing or slicing.Changed type hints to be more consistent.
Changed package versions.
Removals:
Removed
UNSETglobal variable.
Deprecations:
Deprecated
BaseLayer.layersattribute.Deprecated
BaseLayer.forwardmethod.Deprecated
BaseArchitecture._loss_funcmethod.Deprecated
numberandgreaterarguments inIndexlayer.
Fixes:
Fixed
ConvNeXtweight initialisation for biases that are None.Fixed
Networkignoringlayer_numattribute.Fixed
Loguncertainty inplace operations.Fixed
BaseDataseterror message for incorrect attribute length.Fixed
Concatenatelayer whendim=-1.Fixed
Indextransform not detecting old state format.Fixed
Normalisetransform error foroffsetorscalendarray keyword arguments.Fixed backwards compatibility with Python-3.11.
Fixed type hint errors.
Version 3.8.0#
Release Date: August 2025
Install: pip install netloader@git+https://github.com/EthanTreg/PyTorch-Network-Loader@v3.8.0
Additions:
Added
ConvNeXtimplemented using classes.Added
groupattribute toBaseLayer.Added
BaseArchitecture.lossesfunctionality to save multiple loss values.Added print functions to
BaseArchitecturefor custom print logic during training & predicting.Added
BaseArchitecture._loss_funcmethod to return Tensor beforeBaseArchitecture._lossmethod returns float.Added
extend()method to add multiple transforms.Added ASCII plot for loss curve during training.
Added NetLoader version to
BaseArchitecturesave state.Added
extra_reprmethod toDropPath.Added GitHub reference to timm for DropPath.
Changes:
Changed
loader_init()ratiosargument to split the dataset afteridxs.Changed
Networkforward pass to useBaseLayerrather than config for information.Changed
Networkto catch all exceptions during the forward pass.
Fixes:
Fixed
DropPathnot working ifprobis 0.Fixed
NormFlowEncoderoptimiser initialisation.Fixed optimiser and scheduler kwargs not being saved.
Fixed
Indexweights only safe saving.Fixed
Normaliseuncertainty in-place operation.Fixed non-NetLoader classes being added to PyTorch safe globals.
Fixed type hints.
Version 3.6.1#
Release Date: June 2025
Install: pip install netloader@git+https://github.com/EthanTreg/PyTorch-Network-Loader@v3.6.1
Additions:
Added
BaseDatasetfor creating datasets.Added
get_device&get_epochstoBaseArchitecture.Added
overwritekeyword argument toBaseArchitectureto prevent unwanted file deletion.Added Jupyter Notebook package use example.
Changes:
Changed
input_keyword argument to inputs inpredict()method.Changed
Networkin_shapeandout_shapearguments to accept tuples.Changed
Indexto allow negativein_shapedimension sizes for undefined lengths.Changed package requirements.
Fixes:
Fixed docstrings & type hints.
Earlier Versions#
See the GitHub Releases for complete version history.
Upgrade Guide#
From 3.9.x to 3.11.x#
No breaking changes. Existing code should be compatible.