正在为移动项目开发Tensorflow Lite。我正在尝试将基于Tensorflow 1.x的现有模型转换为Tensorflow Lite。 conv3d与Tensorflow Lite的兼容性遇到了问题。
由于高维卷积是低维卷积的叠加。是否可以通过一组conv2d来实现它,使其功能完全像Tensorflow Lite中的conv3d一样?还是Tensorflow 2.x,因为它是Tensorflow Lite的超集。
例如:
update_dense = tf.compat.v1.layers.dense(fc7,8192,activation=tf.nn.leaky_relu,use_bias=True)
update_dense = tf.reshape(update_dense, [4, 4, 4, -1, 128])
reset_dense = tf.compat.v1.layers.dense(fc7,8192,activation=tf.nn.leaky_relu,use_bias=True)
reset_dense = tf.reshape(reset_dense, [4, 4, 4, -1, 128])
hidden_dense = tf.compat.v1.layers.dense(fc7,8192,activation=tf.nn.leaky_relu,use_bias=True)
hidden_dense = tf.reshape(hidden_dense, [4, 4, 4, -1, 128])
t_x_s_update = tf.nn.conv3d(prev_hidden, weights['update_gate'], strides=[1, 1, 1, 1, 1], padding="SAME") + update_dense
t_x_s_update = tf.add(t_x_s_update, biases['update_gate'])
update_gate = tf.sigmoid(t_x_s_update)
t_x_s_reset = tf.nn.conv3d(prev_hidden, weights['reset_gate'], strides=[1, 1, 1, 1, 1], padding="SAME") + reset_dense
t_x_s_reset = tf.add(t_x_s_reset, biases['reset_gate'])
reset_gate = tf.sigmoid(t_x_s_reset)
hidden_gate = tf.nn.conv3d(reset_gate * prev_hidden, weights['hidden_gate'], strides=[1, 1, 1, 1, 1], padding="SAME") + hidden_dense
hidden_gate = tf.add(hidden_gate,biases['hidden_gate'])
有人可以在Tensorflow中提供使用conv2d制作conv3d的解决方案的指南或更好的代码形式吗?