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.minPool
since TF doesn't have it.- Remove
normRegion
param inlocalResponseNormalization
kernel since TF doesn't support it.- Remove
leakyRelu
,prelu
andpreluDer
from the backend and implement using higher-level ops, aligning with TF Python.- Make backend.multinomial take
logits
instead ofprobabilities
andnormalized: boolean
param for backwards compatibility.argMin
andargMax
take singleaxis: number
instead ofaxes: number[]
- Change
eluDer(x: T): T
signature toeluDer(dy: T, y: T): T
to align with TF.- Change NaN behavior of
max/avgPool
andconv2d
to align with TF.- Change
avgPool
out of bounds (padding) behavior to align with TF- Require
indices
inoneHot
andgather
to be of dtypeint32
Fixes #195
- Align webgl and cpu backend to be closer to TF (#947).
- Remove NaN support for tensors of dtype
bool
andint32
- Remove related tests
- Make
fromPixels
test 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 link
and resolve caching and de-duplication problems:
yarn publish-local
replacesyarn link
yarn link-local PCK_NAME
replacesyarn 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-local
andyarn publish-local
to substituteyarn link
and 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
,cast
supports chaining. - Core:
tf.stack
andtf.concat
allow a single tensor. - Core: Shader programs now work in GLSL 4.1.
- Core:
loadWeights
now supports RequestInit. - Layers: Support dilation in
Conv1D
andConv2D
layers. - Layers: Add
SeparableConv2D
Layer (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)D
and 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.