All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- [NEW] - Support for nn.embedding_lookup
- [NEW] - l2_normalize, dynamic_partition
- [NEW OP] - New Ops: rsqrt, top_k, strided_slice
- [NEW] - Support for ranges in tensors (e.g. t[0...2] via strided slice)
- [SAMPLES] - Add samples for handling word vectors
- [BUG FIX] - Fix not wrapping a stack op on some arrays. Should fix rnn sample
- [BUG FIX] - remove pry-byebug include (Thanks @samgooi4189)
- Update Changelog for 0.9.9
- Basic Object mixins for Integer, Float, Array to improve model syntax
- Internal code changes to improve model serialization
- [BUG FIX] - conv2d, conv2d_backprop_filter, conv2d_backprop_input -> stride support bug fixes
- [NEW OP] Convolutional networks - conv2d, conv2d_backprop_filter, conv2d_backprop_input
- [IMAGE] Exposed image resampling options
- [BUG FIX] fix argmin, argmax handling of NaN values
- [NEW OP] assert_equal, relu6
- [TRAINING] learning_rate_decay, dropout
- [BUG FIX] argmin, argmax now works properly
- [BUG FIX] shape inference fixes
- Add profiling support
- Make sure sparse ruby arrays are caught
- Enhancements to support multi-gpu execution
- Bug fix release
- Bug fix release for OpenCL gem
- [TRAINING] Added RMSPropOptimizer, AdagradOptimizer
- [NEW OP] shape_n, sparse_softmax_cross_entropy_with_logits, split, unstack
- Added RNN sample
- Fixed gradient computation when passing an array of tensors to a function
- Added gradients for various other ops
- [TRAINING] Added AdadeltaOptimizer
- [NEW OP] squeeze, encode_png, decode_png
- The OpenCL evaluator has now been decoupled and is not on its own gem (tensor_stream-opencl)
- [TRAINING] Added AdamOptimizer
- [TRAINING] Added new supported optimizer, MomentumOptimizer loosely based on tensorflow's implementation (with nesterov support)
- [NEW OP] fill, stack, atan, cumprod, gather, invert_permutation, setdiff1d
- Fixed device delegator where it does not pick the correct evaluator to use in some cases
- [GRADIENTS] Properly implement gradient computation for prod, tile, transpose
- Fixed gradient computation for softmax_cross_entropy_with_logits_v2 (now based on tensorflow's implementation)
- [NEW OP] expand_dims, min, acos, asin, add_n
- Add parse_from_string support. Parse tensorflow pbtext files into tensor_stream
- Tweaks to GradientDescentOptimizer to expose additional methods based on tensorflow
- [NEW OP] fill, floor_div, dynamic_stitch, mod, range, size, squared_difference
- [General] Some auto-differentation fixes
- [softmax_cross_entropy_with_logits_v2] Use numerically stable way of calculating values
- Other fixes related to shape computation
- Added support for control_dependencies
- [NEW OP] floor, ceil
- fixed variable assignment of value sometimes not working
- variable assignment now checks for data types properly
- [OpenCL] boolean types now use short by default
- [OpenCL] Supported multiple OpenCL devices in one model
- Added support for tf.device to alter device placement when using OpenCL
- Internal changes to allow placement of tensor nodes to specific evaluators/devices
- removed dependency on SciRuby distribution for the pure ruby evaluator for better compatibility
- [OpenCL] disable program writes to /tmp
- Allow float64, int16 datatypes for the OpenCL evaluator
- Various bug fixes
- Tweaked data type checking to be more tensorflow like
- initial work on docs
- [OpenCL] tweaked best device detector
- [NEW OP] Added op softmax_cross_entropy_with_logits
- [NEW OP] check_numerics
- fixed/improved softmax behavior
- hardware acceleration using OpenCL
- working nearest neighbor sample (use opencl evaluator for best performance)
- working logistic regression sample
- reworked auto differentiation, fix a number of bugs related to auto differentiation, smaller derivative programs
- alpha support for saving to pbtext format, added graphml generation
- significant number of ops added
- ops that support broadcasting now work better