トランスレータ(無償版)は,比較的ROM/RAM容量の小さいマイコンを対象としています。 ライブラリで使う容量を圧縮するため,ニューラルネットワークでよく使われる関数のみをサポートしています。

トランスレート可能関数一覧(推論時)

学習時のみで使い,推論時に使用しないニューラルネット関数,(例えば,loss評価式で使う関数 tf.nn.l2_loss など)は,使用可能です。

Neural Networkの機能名称 TensorFlow Keras (New V1.4.0) Caffe
Layer Convolution tf.nn.conv2d  keras.layers.Conv2D Convolution
tf.contrib.layers.conv2d tf.keras.layers.Conv2D
tf.layers.conv2d  
Deconvolution tf.nn.conv2d_transpose keras.layers.Conv2DTranspose Deconvolution
tf.contrib.layers.conv2d_transpose tf.keras.layers.Conv2DTranspose
tf.layers.conv2d_transpose  
InnerProduct tf.matmul keras.layers.Dense InnerProduct
tf.contrib.layers.fully_connected tf.keras.layers.Dense
tf.layers.dense  
Pooling Max Pooling tf.nn.max_pool keras.layers.MaxPooling2D Pooling 
tf.contrib.layers.max_pool2d tf.keras.layers.MaxPool2D with pooling_param {pool: MAX}
tf.layers.max_pooling2d    
Average Pooling tf.nn.avg_pool keras.layers.AveragePooling2D Pooling 
tf.contrib.layers.avg_pool2d tf.keras.layers.AveragePooling2D with pooling_param {pool: AVE}
tf.layers.average_pooling2d    
Activation ReLU tf.nn.relu keras.activations.relu ReLU
tf.keras.activations.relu
TanH tf.nn.tanh keras.activations.tanh TanH
tf.tanh tf.keras.activations.tanh
Sigmoid tf.sigmoid keras.activations.sigmoid Sigmoid
tf.keras.activations.sigmoid
Softmax tf.nn.softmax keras.activations.softmax Softmax
tf.contrib.layers.softmax tf.keras.activations.softmax
tf.nn.softmax_cross_entropy_with_logits keras.layers.Softmax
tf.nn.softmax_cross_entropy_with_logits_v2 tf.keras.layers.Softmax
Normalization LRN tf.nn.lrn - LRN (Local Response Normalization)
tf.nn.local_response_normalization
BatchNormalization tf.layers.batch_normalization keras.layers.BatchNormalization BatchNorm
tf.keras.layers.BatchNormalization
Structure Input - - Input
bias_add tf.nn.bias_add    
tf.contrib.layers.bias_add
reshape tf.reshape keras.layers.Reshape Reshape
Split
tf.layers.flatten tf.keras.layers.Reshape
tf.contrib.layers.flatten keras.layers.Flatten
  tf.keras.layers.Flatten

主要なNN構造への対応状況

AutoEncoder   Conv2D-FC-Deconv2D構造にも対応 New V1.4.0
Convolutional Neural Network
(CNN)
分岐無し
LeNet    
AlexNet    
VGG FCのチャネル数が大きい場合は、
変換時に甚大なメモリ容量が必要
 
Convolutional Neural Network
(CNN)
分岐あり
Network in
Network
GoogleNet
× 分岐のあるネットワークには対応していません concatに対応していません 開発中
MobileNet × DepthwiseConvolutionには対応していません
分岐のあるネットワークには対応していません
複数入力のadd(要素同士の加算)に対応していません
開発中
ResNet × 分岐のあるネットワークには対応していません
複数入力のadd(要素同士の加算)に対応していません
開発中
SENet × 分岐のあるネットワークには対応していません
複数入力のMultiply(要素同士の掛け算)に対応していません
開発中
Recurrent Neural Network
(RNN)
  × メモリ内蔵ネットワークには未対応
CNNでの代替を検討してください
 
Long Short Term Memory
(LSTM)
  × メモリ内蔵ネットワークには未対応
CNNでの代替を検討してください