gotch/CHANGELOG.md

195 lines
7.1 KiB
Markdown
Raw Permalink Normal View History

2020-10-23 14:41:08 +01:00
# Changelog
2021-05-22 11:29:50 +01:00
2020-10-23 14:41:08 +01:00
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
2021-05-22 11:29:50 +01:00
## [Unreleased]
2022-02-24 01:55:09 +00:00
## [Nofix]
- ctype `long` caused compiling error in MacOS as noted on [#44]. Not working on linux box.
## [0.6.0]
- Added subpackage `pickle`. Now we can load directly Python Pytorch pretrained model without any Python script conversion.
- Added `gotch.CachePath()` and `gotch.ModelUrls`
- Remove Travis CI for now.
- fixed `tensor.OfSlice()` throw error due to "Unsupported Go type" (e.g. []float32)
- added `nn.Path.Paths()` method
- added `nn.VarStore.Summary()` method
2022-01-17 06:18:54 +00:00
- fixed incorrect tensor method `ts.Meshgrid` -> `Meshgrid`
2022-01-17 10:41:16 +00:00
- added new API `ConstantPadNdWithVal` `ato_constant_pad_nd` with padding value.
2022-02-05 05:58:15 +00:00
- fixed "nn/rnn NewLSTM() clashed weight names"
- fixed some old API at `vision/aug/function.go`
- fixed `tensor.OfSlice()` not supporting `[]int` data type
2022-02-15 01:40:28 +00:00
- fixed make `tensor.ValueGo()` returning `[]int` instead of `[]int32`
- added more building block modules: Dropout, MaxPool2D, Parameter, Identity
- added nn.BatchNorm.Forward() with default training=true
2022-02-16 00:39:27 +00:00
- added exposing `tensor.Ctensor()`
- added API `tensor.FromCtensor()`
2022-02-19 05:59:33 +00:00
- [#67]: fixed incorrect type casting at `atc_cuda_count`
2021-07-23 01:46:45 +01:00
2021-11-06 03:44:27 +00:00
## [0.5.0]
- Upgraded to libtorch 1.10
- [#58] Fixed incorrect converting IValue from CIValue case 1 (Tensor).
2021-08-15 13:05:33 +01:00
## [0.4.5]
- Added Conv3DConfig and Conv3DConfig Option
- Added missing Tensor methods APIs those return multiple tensors (e.g. `tensor.Svd`).
2021-07-26 09:00:24 +01:00
## [0.4.4]
- Dropped libtch `dummy_cuda_dependency()` and `fake_cuda_dependency()` as libtorch ldd linking Okay now.
## [0.4.3]
- Export nn/scheduler DefaultSchedulerOptions()
## [0.4.2]
- Added nn/scheduler NewLRScheduler()
- Added nn/conv config options
## [0.4.1]
- fixed cuda error `undefined reference to 'at::cuda::warp_size()'`
2021-07-23 02:01:39 +01:00
## [0.4.0]
- **Update libtorch to 1.9**. Generated **1716 APIs**. There are APIs naming changes ie. `Name1` change to `NameDim` or `NameTensor`.
2021-07-23 01:46:45 +01:00
## [0.3.14]
- Fixed temporary fix huge number of learning group returned from C at `libtch/tensor.go AtoGetLearningRates`
- Fixed incorrect `nn.AdamWConfig` and some documentation.
- Fixed - reworked on `vision.ResNet` and `vision.DenseNet` to fix incorrect layers and memory leak
- Changed `dutil.DataLoader.Reset()` to reshuffle when resetting DataLoader if flag is true
- Changed `dutil.DataLoader.Next()`. Deleted case batch size == 1 to make consistency by always returning items in a slice `[]element dtype` even with batchsize = 1.
- Added `nn.CrossEntropyLoss` and `nn.BCELoss`
- Fixed `tensor.ForwardIs` return `Tuple` and `TensorList` instead of always returning `TensorList`
- Changed exporting augment options and make ColorJitter forward output dtype `uint8` for chaining with other augment options.
2021-07-20 15:15:56 +01:00
- [#45] Fixed `init/RandInt` incorrect initialization
- [#48] Fixed `init/RandInit` when init with mean = 0.0.
2021-07-07 03:45:59 +01:00
## [0.3.13]
- Fixed multiple memory leakage at `vision/image.go`
- Fixed memory leakage at `dutil/dataloader.go`
- Fixed multiple memory leakage at `efficientnet.go`
2021-06-18 12:24:00 +01:00
- Added `dataloader.Len()` method
- Fixed deleting input tensor inside function at `tensor/other.go` `tensor.CrossEntropyForLogits` and `tensor.AccuracyForLogits`
2021-06-19 05:31:28 +01:00
- Added warning to `varstore.LoadPartial` when mismatched tensor shapes between source and varstore.
- Fixed incorrect message mismatched tensor shape at `nn.Varstore.Load`
2021-06-21 11:20:57 +01:00
- Fixed incorrect y -> x at `vision/aug/affine.go` getParam func
- Fixed double free tensor at `vision/aug/function.go` Equalize func.
- Changed `vision/aug` all input image should be `uint8` (Byte) dtype and transformed output has the same dtype (uint8) so that `Compose()` can compose any transformer options.
2021-06-25 04:37:32 +01:00
- Fixed wrong result of `aug.RandomAdjustSharpness`
2021-06-26 09:25:26 +01:00
- Fixed memory leak at `aug/function.getAffineGrid`
2021-06-30 12:39:40 +01:00
- Changed `vision/aug` and correct ColorJitter
- Changed `vision/aug` and correct Resize
- Changed `dutil/sampler` to accept batchsize from 1.
- Fixed double free in `vision/image.go/resizePreserveAspectRatio`
2021-06-12 09:59:35 +01:00
2021-07-07 03:45:59 +01:00
## [0.3.12]
Skip this tag
2021-07-06 10:02:30 +01:00
## [0.3.11]
Same as [0.3.10]
2021-06-12 09:59:35 +01:00
## [0.3.10]
2021-05-24 13:23:43 +01:00
- Update installation at README.md
2021-06-12 09:59:35 +01:00
- [#38] fixed JIT model
- Added Optimizer Learning Rate Schedulers
- Added AdamW Optimizer
## [0.3.9]
2021-05-22 11:29:50 +01:00
- [#24], [#26]: fixed memory leak.
- [#30]: fixed varstore.Save() randomly panic - segmentfault
- [#32]: nn.Seq Forward return nil tensor if length of layers = 1
- [#36]: resolved image augmentation
2021-05-22 11:29:50 +01:00
2021-02-05 22:59:57 +00:00
## [0.3.8]
### Fixed
- [#20]: fixed IValue.Value() method return `[]interface{}` instead of `[]Tensor`
2021-01-02 11:41:18 +00:00
## [0.3.7]
### Added
- Added trainable JIT Module APIs and example/jit-train. Now, a Python Pytorch model `.pt` can be loaded then continue training/fine-tuning in Go.
2020-10-23 14:41:08 +01:00
## [0.3.6]
2020-10-23 14:41:08 +01:00
### Added
- Added `dutil` sub-package that serves Pytorch `DataSet` and `DataLoader` concepts
2020-10-23 14:41:08 +01:00
## [0.3.5]
2020-10-23 14:41:08 +01:00
### Added
- Added function `gotch.CudaIfAvailable()`. NOTE that: `device := gotch.NewCuda().CudaIfAvailable()` will throw error if CUDA is not available.
2020-10-23 14:41:08 +01:00
### Changed
- Switched back to install libtorch inside gotch library as go init() function is triggered after cgo called.
2020-10-23 14:41:08 +01:00
## [0.3.4]
2020-10-27 06:34:12 +00:00
### Added
- [#4] Automatically download and install Libtorch and setup environment variables.
2020-10-23 14:41:08 +01:00
## [0.3.2]
2020-10-29 12:41:58 +00:00
### Added
- [#6]: Go native tensor print using `fmt.Formatter` interface. Now, a tensor can be printed out like: `fmt.Printf("%.3f", tensor)` (for float type)
2020-10-29 12:41:58 +00:00
## [0.3.3]
2020-10-23 14:41:08 +01:00
### Fixed
- nn/sequential: fixed missing case number of layers = 1 causing panic
- nn/varstore: fixed(nn/varstore): fixed nil pointer at LoadPartial due to not break loop
## [0.3.1]
### Changed
- Changed to use `map[string]*Tensor` at `nn/varstore.go`
- Changed to use `*Path` argument of `NewLayerNorm` method at `nn/layer-norm.go`
- Lots of clean-up return variables i.e. retVal, err
## [0.3.0]
### Changed
- Updated to Pytorch C++ APIs v1.7.0
- Switched back to `lib.AtoAddParametersOld` as the `ato_add_parameters` has not been implemented correctly. Using the updated API will cause optimizer stops working.
## [0.2.0]
### Changed
- Convert all APIs to using **Pointer Receiver**
### Added
- Added drawing image label at `example/yolo` example
- Added some example images and README files for `example/yolo` and `example/neural-style-transfer`
2020-12-28 05:59:49 +00:00
## [0.1.10]
2020-12-30 01:05:27 +00:00
### Added
- Added `tensor.SaveMultiNew`
2020-12-30 01:05:27 +00:00
## [0.1.9]
### Changed
- Reverse changes [#10] to original.
## [0.1.8]
### Changed
- [#10]: `ts.Drop()` and `ts.MustDrop()` now can call multiple times without panic
2020-12-30 01:05:27 +00:00
[#10]: https://github.com/sugarme/gotch/issues/10
[#6]: https://github.com/sugarme/gotch/issues/6
[#4]: https://github.com/sugarme/gotch/issues/4
2021-02-05 22:59:57 +00:00
[#20]: https://github.com/sugarme/gotch/issues/20
2021-05-22 11:29:50 +01:00
[#24]: https://github.com/sugarme/gotch/issues/24
[#26]: https://github.com/sugarme/gotch/issues/26
[#30]: https://github.com/sugarme/gotch/issues/30
[#32]: https://github.com/sugarme/gotch/issues/32
[#44]: https://github.com/sugarme/gotch/issues/44
2021-07-20 15:15:56 +01:00
[#45]: https://github.com/sugarme/gotch/issues/45
[#48]: https://github.com/sugarme/gotch/issues/48
2021-09-15 01:33:57 +01:00
[#58]: https://github.com/sugarme/gotch/issues/58