* Fix warning C4244 in src/layer/convolution.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/convolution_sgemm_int8.h
C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
* Fix warning C4244 in src/layer/deconvolution.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/elu.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4267 in src/layer/embed.cpp
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
* Fix warning C4244 in src/layer/exp.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/innerproduct.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/log.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/lrn.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/mvn.cp
C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/power.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warnings C4244 and C4267 in src/layer/proposal.cpp
C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
* Fix warning C4244 in src/layer/reduction.cpp
C4244: 'return': conversion from 'double' to 'T', possible loss of data
* Fix warning C4244 in src/layer/tanh.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/binaryop.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warnings C4244 and C4267 in src/layer/unaryop.cpp
C4244: 'return': conversion from 'double' to 'T', possible loss of data
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
* Fix warning C4244 in src/layer/x86/convolutiondepthwise_3x3_int8.h
C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
std::{unary|binary}_function<> are deprecated in C++11 and removed in C++17.
Actually, these were unnecessary in general. In the C++98/03 era, many user-
defined function object classes derived from these base classes in an attempt
to imitate STL conventions. However, STL containers and algorithms have never
required such inheritance (or the typedefs that they provide). Only the
function object adaptors (like bind1st()) needed such typedefs. Currently,
there are no uses of function object adapters in our codebase, so we can
eliminate the inheritance completely.
* [WIP] add reduce op support for onnx
* extend reduction to support 1,2-dim reduction and keepdims
* fix compile error
* split type to 3 flags && split keepdims to another function