* feat: serilization for quantized modules
All quantized modules extending QuantModule, which has an empty Tensor
for gradient. And the object mixes QuantSerializer for protobuf
supporting.
* refactor: serialization api changes
* feat: quantized tensor support
QuantizedTensor inherits from Tensor with supporting part of methods.
The memory is allocated from native code, so it only matains a
pointer `getNativeStorage`.
Note,
We don't support automatically `free` method. Anyone using this method
should think about the memory lacking, especially for memory
optimization.
test: quantized tensor tests
* fix: test case failed on spark 1.6
Quantization object support:
1. quantize a value with max and min.
2. quantize an array
3. quantize a Tensor[Float]
And for test, there're relative dequantize methods.
* make a layer support different type
* finish equal and make layer suppor different type
* fix conflict
* add Floor L2Loss RandomUniform Rank MatMul SoftMax
* add TruncatedNormal
* fit new code
* make jenkens pass
* Support control flow
* Decouple input/output tensor numeric type from the module numeric type(parameter type).
* FIx unit tests
* while loop api refactor
* fix unit test
* make breeze version configurable as spark 2.1 bump breeze version
* Add scheduler to exclude layers
* remove control-flow change
* remove Schduler and ControlOps
* fix broken unit test
* make a layer support different type
* finish equal and make layer suppor different type
* make code clear
* move zipwith to tensor
* fix conflict
* fix scala style error
* change an implementation for make scala2.10 compile successfully
* support loading a subset of tf graph
* support load model with specified inputs
* add control dependency support in Graph
* fix file reader conflict
* fix bug
* add some comments
* fix control dep bug
* fix doc
* Allow module output multiple tensor in Graph
* fix failed unit test
* meet code review
* meet code review
* more unit test
* add more unit tests
* fix unit tests
* fix style check
* fix style check and unit test
* meet code review
* support nested output
* meet code review
* add boolean, short, int, long, string, char to tensor support
* implement and test LogicalOr and LogicalAnd operations
* add logical not
* change a typo
* refine logicalOr and logicalAnd
* fix scala code style error
* add isInputWithBias and isHiddenWithBias for RNNCell
* default affine = true in BatchNormParams in recurrent layer
* add serializableSpec for recurrent
* addPreprocessInputLayer to support BatchNormalization
* revise bnorm to hiddensize
* add comments
* add BatchNormalization between preTopology and topology
* add BatchNormalization in Recurrent
* recurrent support batchnormalization
* revise sequential to identity in throw new Error
* fix serialize
* add serializeBigDLModule
* return Unit in doSerializeModule
* add version control
* version support
* add python api
* add version control proto
* add unit test
* change function name
* rename function api
* per comments
* refinement to make hierachy more cleaner
* backward compatibility