我试图创建一个模型图,其中我的输入是从java程序输入的tensorflow变量 在我的代码中,我使用了numpy方法,我需要将tensorflow变量输入转换为numpy数组输入
这里是我的代码片段
import tensorflow as tf
import numpy as np
eps = np.finfo(float).eps
EXPORT_DIR = './model'
def standardize(x):
med0 = np.median(x)
mad0 = np.median(np.abs(x - med0))
x1 = (x - med0) / (mad0 + eps)
return x1
#tensorflow input variable
a = tf.placeholder(tf.float32, name="input")
with tf.Session() as session:
session.run(tf.global_variables_initializer())
#Converting the input variable to numpy array
tensor = a.eval()
#calling standardize method
numpyArray = standardize(tensor)
#converting numpy array to tf
tf.convert_to_tensor(numpyArray)
#creating graph
graph = tf.get_default_graph()
tf.train.write_graph(graph, EXPORT_DIR, 'model_graph.pb', as_text=False)
我遇到错误:InvalidArgumentError(回溯见上文):您必须在tensor=a.eval()行中为占位符张量“input”输入数据类型浮点值
当我用常量代替占位符时,它会工作并生成图形。但是我想从我的java代码中输入。 有什么方法可以做到这一点吗?或者我需要把我所有的numpy方法转换成tensorflow方法吗
placeholder
只是tensorflow中的一个空变量,您可以将numpy
的值馈送给它。现在,你想做的事情没有意义。不能从空变量中获取值。在如果你想
standardize
你的张量,为什么要先把它转换成numpyvar?您可以使用tensorflow
直接执行此操作。在以下内容取自this stackoverflow ans
现在,您可以将函数实现为
^{pr2}$相关问题 更多 >
编程相关推荐