Releases: tensorflow/tfjs
0.10.3
Core (0.7.1 ==> 0.8.4)
Features
- Add tf.toPixels. (#941)
- Add tf.erf op (#951). Thanks @Lewuathe.
- Add tf.movingAverage. (#963)
- Add tf.resizeNearestNeighbor (#955). Thanks @Lewuathe.
- Add slice ergonomics. (#964). Thanks @ry.
- Finish gradient for tf.pow (#954). Thanks @jgartman.
- Add gradients for tf.batchNormalization4d (#959)
- Finish gradient for tf.matMul (#957). Thanks @jgartman.
- Add tf.logSigmoid and tf.softplus and gradients (#916). Thanks @jgartman.
Breaking changes
Aligns the backend API and functionality (NaN propagation, dtype strictness, kernel signatures) with TensorFlow Python.
- Remove
backend.minPoolsince TF doesn't have it.- Remove
normRegionparam inlocalResponseNormalizationkernel since TF doesn't support it.- Remove
leakyRelu,preluandpreluDerfrom the backend and implement using higher-level ops, aligning with TF Python.- Make backend.multinomial take
logitsinstead ofprobabilitiesandnormalized: booleanparam for backwards compatibility.argMinandargMaxtake singleaxis: numberinstead ofaxes: number[]- Change
eluDer(x: T): Tsignature toeluDer(dy: T, y: T): Tto align with TF.- Change NaN behavior of
max/avgPoolandconv2dto align with TF.- Change
avgPoolout of bounds (padding) behavior to align with TF- Require
indicesinoneHotandgatherto be of dtypeint32Fixes #195
- Align webgl and cpu backend to be closer to TF (#947).
- Remove NaN support for tensors of dtype
boolandint32- Remove related tests
- Make
fromPixelstest run only in the browser- Remove NaN propagation for min/max/argMin/argMax/compare/logical ops to align with TF
- Speed up randomNormal tests
- Minimize usage of isNaN checks in WebGL shaders
Bug fixes
- Implement floordiv for integer division & update CONTRIBUTING.md. (#960)
Performance
- Make CPU matmul 100x faster (#961). Thanks @piscisaureus.
TypeScript
Development
- Add yarn "link-local" and yarn "publish-local" (#983).
These commands are better alternatives to
yarn linkand resolve caching and de-duplication problems:
yarn publish-localreplacesyarn linkyarn link-local PCK_NAMEreplacesyarn link PCK_NAME
- Add quotemark rule to tslint. (#975). Thanks @ry.
- Make core tests reusable by other packages (#926).
Documentation
- Add code examples to jsdocs. (#899). Thanks @nbardy.
- Fix typo in tsdoc (#952). Thanks @Lewuathe.
- Fix snippet comments for sum and mean (#946). Thanks @mlajtos.
- Array Ops: Fixes tf.clone documentation (#942). Thanks @manrajgrover.
Misc
- Assert arguments to ops are Tensors. (#967)
- test_util shouldn't depend on jasmine. (#974). Thanks @ry.
- Clean up demo scripts. (#949). Thanks @manrajgrover.
- Fix error message in clipByValue (#953). Thanks @mlajtos.
- Remove deeplearnjs references (#948). Thanks @manrajgrover.
- remove old demos, move benchmarks to integration_tests (#943).
- Rename dl -> tf in unit tests (#944). Thanks @manrajgrover.
Layers (0.4.0 ==> 0.5.3)
Features
- Support training of BatchNormalization layer (#139)
- Expose tf.metrics; Add binaryCrossentropy metric (#144)
- Export Reshape layer as tf.layers.reshape (#134).
Breaking changes
Bug fixes
- Fix serialization of Sequential (#127)
- Cast indices to int as needed. (#128).
- Let Conv1D take [number] for dilationRate (#125)
Performance
TypeScript
Development
- Improve
DEVELOPMENT.md(#148).
- Add
yarn link-localandyarn publish-localto substituteyarn linkand avoid problems with duplication of packages and caching
- Add quotemark to tslint. (#143). Thanks @ry.
- Update switch-tfjs-core-version.sh (switch-deeplearn-version.sh) (#138)
Documentation
Misc
- Remove underscore as a dependency (#129)
- Issues Template: Remove label issues from template (#124). Thanks @manrajgrover.
0.9.1
0.9.0
New features
- Core ops:
tf.rsqrt,tf.mod,tf.losses.absoluteDifference,tf.losses.computeWeightedLoss,tf.losses.squaredDifference,tf.sign,tf.floor,tf.reciprocal,tf.round,tf.asinh,tf.acosh,tf.atanh,tf.atan2. - Core: Centered RMSProp now supported.
- Core:
logicalNot,castsupports chaining. - Core:
tf.stackandtf.concatallow a single tensor. - Core: Shader programs now work in GLSL 4.1.
- Core:
loadWeightsnow supports RequestInit. - Layers: Support dilation in
Conv1DandConv2Dlayers. - Layers: Add
SeparableConv2DLayer (tf.layers.separableConv2d).
Bug fixes
- Layers: Map weights to uniquefied tensor names during model loading, to prevent error on repeated loading of the same model with
tf.loadModel()in the same browser page load. - Layers: Change class registry to
AveragePooling(1|2)Dand add symbol aliases to exports.
Acknowledgments to external contributors:
@manrajgrover for tf.exmp1, tf.squaredDifference, tf.rsqrt, tf.mod, absolute difference loss, tf.sign, fixing gradient for tf.floor, tf.reciprocal, logicalNot chaining support, fixing documentation, adding info to issue template.
@Lewuathe for centered RMSProp, unary ops benchmarks, tf.round. @jgartman for inverse trig hyperbolic functions and tf.atan2. @adarob for tf.split, 1-tensor tf.stack and tf.concat. @adarabi for fixing GLSL shader compiler for glsl 4.1.
0.8.0
New features
- Layers: Add ZeroPadding2D layer.
Bug fixes
- Layers: Fix duplicate weight names in Conv2DTranspose layer.
Acknowledgments to external contributors
@adarabi for shader syntax, @Lewuathe for work on tests, @manrajgrover for new ops, @jgartman for new ops
0.7.0
New features
- Layers: Added some advanced activation layer types: LeakyReLU, ELU, ThresholdedReLU.
- Layers: Added Conv2DTranspose layer. Inference is supported; training (backpropagation) is not supported yet.
Bug fixes
- Layers: Fix a bug related to optimizer constructor names in minimized bundle.