Skip to content

Releases: chainer/onnx-chainer

v1.6.0

06 Nov 09:38
fcab353
Compare
Choose a tag to compare

ONNX-Chainer is merged into Chainer mainstream from v7.0.0rc1. New features and improvements will be imported to Chainer repository. This ONNX-Chainer repository is not closed but supports only bug fixes.

Overview

New feature

Improvement

  • Add Windows CI job (#220)
  • Add opset option on pytest (#229)
  • Do no emit redundant axes for slice with : (#232)
  • Support list index on get_item (#233)
  • Support iterator indices on SplitAxis (#235)
  • Set supported max opset version (#237)
  • Allow missing gradient values with warnings (#243)
  • Introduce doctests (#245)
  • Show import error with guide message on ONNX (chainer/chainer#8293)
  • Partially output_grad support on fake_as_funcnode (chainer/chainer#8298)
  • Support multiple advanced indexing on ONNX export (chainer/chainer#8345)
  • Revert output value check on SoftmaxCrossEntropy (chainer/chainer#8347)

Bug Fix

  • Fix to ignore not variable inputs (#221)
  • Move implicit input manager to Context (#226)
  • Reset inputs after exported for out_grad (#238)
  • Fix warning on testing (#240)
  • Follow UserWarning handling on testing (#242)
  • Use original inputs of FixedBN the inputs are explicit (#244)
  • Fix dimc learning on output (chainer/chainer#8270)
  • Fix onnx_chainer's exporter of Separate to handle single output case (chainer/chainer#8332)

v1.5.0

01 Aug 01:59
c4e4a90
Compare
Choose a tag to compare

Overview

  • Start supporting ONNX 1.5
  • Start supporting Python 3.7
  • Includes breaking backward updates, [NOCOMPAT] tag is added on the update.

New Feature

  • Start supporting opset 10 (#179)
  • Support input shapes option (#210)
  • Add new converter
    • Separate (#171)
    • Shape (Chainer does not have the function, output only) (#193)
    • DivFromConstant, SubFromConstant (#204)
    • ArgMin, ArgMax (#208)
    • RsqrtGPU (#206)

Improvement

  • Support unused link (#177)
  • [NOCOMPAT] Set name of parameter generated by converter (#182)
  • [NOCOMPAT] Provide more appropriate naming for the fourth and fifth arguments of BN (#185)
  • Support dynamic reshape (#194)
  • [NOCOMPAT] Use Constant instead of inputs+initializer (#197)
  • Support temporary implicit input (#202)
  • Stop error when ksize/pad/stride condition is not satisfied (#209)
  • [NOCOMPAT] Drop parameters argument from converters (#212)

Bug Fix

  • Fix softmax converter (#174)
  • Fix pad converter with scalar pad width (#178)
  • Support vector on MatMul (#196)
  • Fix test when set --value-check-runtime='skip' (#203)
  • Add packaging module to requriements (#205)

v1.4.1

22 May 07:27
f3081c8
Compare
Choose a tag to compare

New Feature

  • Add function util to connect variable node (#143)
    • This util support a function which cuts variable node like Variable.array.
  • Add new converter

Improvement

  • Add output type check (#145)
  • Support group param on Conv/Deconv (#157)
  • Fix unpooling error message (#161, thx! @syoyo)
  • Change building computational graph, stop using backward with FunctionHook (#162)
    • This reduces calculation cost of exporting

Bug fix

  • Fix import order (#151)
  • Fix to manage each var is renamed or not (#155)
    • When use output_names option, an output generated by intermediate node is not renamed to "function node name" before this PR.
  • desable -> disable spelling correction (#160, thx! @syoyo)
  • Fix orphan node check included Constant (#159)

v1.4.0

15 Apr 02:45
ffc727c
Compare
Choose a tag to compare

Overview

  • Update depending ONNX version to 1.4.0+
  • Includes braking backward updates, [NOCOMPAT] tag is added on the update.
  • Add some options on exporting ONNX graph to customize the output graph.

New Feature

  • Support external converter for custom operator (#129)
    • Set external_converters option on export
    • test_external_converter.py could be a useful example how to use.
    • This feature is experimental, output warning if set this option
  • Customize input/output name (#133)
    • Set output_names or/and output_names options on export, customized names are set on output ONNX graph
  • Add Where operator converter (#142)

Bug fix

  • Fill tensor name in gradient files (#134)
  • Fix output tensor name (#135)

Refactoring

  • [NOCOMPAT] Move rename_tensor to function_hook (#136)
    • Output nodes could be changed. Before previous version, output nodes' name is based on "ONNX operator type name". From this version, the name is based on "Chainer function node type name".
    • For example, a value output from Chainer Linear function, the name will be LinearFunction_N (N=number), not Gemm_N.

Test improvement

  • Add test runtime option and add mxnet mode (#137)
  • Add .pytest_cache to .gitignore (#138)
  • Add chainerci script (#140)
    • Add a test job enabled GPU
  • Upgrade onnxruntime module to pass value check under opset=9 (#141)

v1.3.3

09 Mar 09:19
7d0a178
Compare
Choose a tag to compare

New Feature

  • Support export_testcase function, to output model.onnx and test data set, defer to ONNX example (#105)
    • Support to output gradients (#116)
  • Support new functions
    • SoftmaxCrossEntropy (#107)
    • Unpooling2D (partially supported) (#110)
  • Change naming rule of parameters, stop using instance ID (#118, #130)

Bug fix

  • Stop emitting batch size on Linear operator (#109)
  • Deal with intermediate output (#106)
  • Handle constant value as scalar on MulConstant, AddConstant, PowVarConst (#114, #131)
  • Emit pad value type as float (#123)
  • Fix BatchNormalization converting error (#120)
  • Stop Numpy asscalar warning (#124)

Refactoring

  • Change converter design (#104)
  • Add GraphBuilder helper (#113)
  • Add to check not supported opset version (#112)

Test improvement

  • Stop using Docker on CI (#115)
  • Change directory structure of output on testing (#117, #127)
  • Add coverage report (#122)

v1.3.2

20 Feb 10:48
883d30d
Compare
Choose a tag to compare

New Feature

  • Support new functions
    • BroadcastTo (#87)
    • ExpandDims (#93)
    • ROIPooling2D (#64)

Bug fix

  • LogSumExp, Max, Mean, Min, Pro, Sum: Fix export error when axis attribute is None (#85)
  • BatchNormalization: Fix export error when use_beta=False or use_gamma=False (#92)
  • Fix export error on multiple outputs (#100)

Test improvement

  • Add GPU mode on exporting models (#74)
  • Put ONNX file generated in test to "out" directory (#89)
  • Improve test case (#90, #91, #97, #95, #98, #96)

v1.3.1

12 Feb 01:42
3733f76
Compare
Choose a tag to compare

This is a patch release.

  • Accept to input chainer.Variable collection (#79)
  • Resolve implicit inputs (#81)

v1.3.0

08 Feb 03:04
a82ec57
Compare
Choose a tag to compare

This is miner update release.

New features:

  • Add new Function support
    • NormalizeL2 (#58)
    • Square (#63)
    • GetItem (#73)
  • support __version__ (#66)

Bug fixes:

  • Avoid unnecessary importing (#64)
  • Fix to stop generating multiple anonymous inputs (#65, thx @mitaki28 san)

v1.3.0a4

25 Jan 08:08
676734a
Compare
Choose a tag to compare
v1.3.0a4 Pre-release
Pre-release

This is alpha release mainly for some bug fixes:

  • Stop explicitly setting spatial=True to batch norm #59
  • Fix code and tests around pooling functions #52

New features:

  • Support cover_all options #50

v1.3.0a1

20 Nov 06:25
Compare
Choose a tag to compare
v1.3.0a1 Pre-release
Pre-release
  • Add some new Function support
  • Replace all tests with ONNXRuntime based
  • Add a new example sample_rt.py to show how to use ONNXRuntime for running ONNX exported by ONNX-Chainer