我已经创建了一个TensorFlow1.13.1模型,并尝试在android应用程序中使用它。当我初始化变量时 sess.runner().addTarget("init").run()
; 我有个错误:
No OpKernel was registered to support Op 'VarHandleOp' used by {{node
dense/kernel}}with these attrs: [shape=[1,1], shared_name="dense/kernel",
_class=["loc:@dense/kernel"], dtype=DT_FLOAT, container=""]
这是我用来创建graph.pb文件的代码:
model = tf.keras.models.Sequential([tf.keras.layers.Dense(1, input_shape=(1, )),
tf.keras.layers.Dense(25, activation=tf.keras.activations.relu),
tf.keras.layers.Dense(1, activation=tf.keras.activations.relu)])
model.compile(optimizer=tf.keras.optimizers.Adam(),loss=tf.keras.losses.mean_squared_error)
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01)
init = tf.global_variables_initializer()
saver_def = tf.train.Saver().as_saver_def()
with open('graph.pb', 'wb') as f:
f.write(tf.get_default_graph().as_graph_def().SerializeToString())
print('Operation to initialize variables: ', init.name)
print('Tensor to be fed for checkpoint filename:', saver_def.filename_tensor_name)
print('Operation to save a checkpoint: ', saver_def.save_tensor_name)
print('Operation to restore a checkpoint: ', saver_def.restore_op_name)
print('Trainable variables: ', tf.trainable_variables())
Operation to initialize variables: init
Tensor to be fed for checkpoint filename: save/Const:0
Operation to save a checkpoint: save/control_dependency:0
Operation to restore a checkpoint: save/restore_all
Trainable variables: [<tf.Variable 'dense/kernel:0' shape=(1, 1) dtype=float32>, <tf.Variable 'dense/bias:0' shape=(1,) dtype=float32>, <tf.Variable 'dense_1/kernel:0' shape=(1, 25) dtype=float32>, <tf.Variable 'dense_1/bias:0' shape=(25,) dtype=float32>, <tf.Variable 'dense_2/kernel:0' shape=(25, 1) dtype=float32>, <tf.Variable 'dense_2/bias:0' shape=(1,) dtype=float32>]
tensorflow android版本是: org.tensorflow:tensorflow-android:1.13.1
它和其他线性回归模型一起工作,但我不知道怎么了,
暂无答案!
目前还没有任何答案,快来回答吧!