我正在尝试使用Django和TensorFlow创建一个基于Web的机器学习应用程序 . 在views.py(服务器端)中,我创建了几个占位符和操作,并在views.py中全局保存它们 . 然后,视图显示(呈现)名为train.html的HTML文件 . 在其中,我使用AJAX调用views.py中的另一个函数来运行我之前创建的操作,但它出现了错误:
TypeError:无法将feed_dict键解释为Tensor:Tensor Tensor(“input:0”,shape =(?,9,44),dtype = int32)不是此图的元素 .
这里's an over-simplification of my code (without specifying imports, as it'显然不是一个导入问题):
views.py
# Create TF placeholders and operations
input = tf.placeholder(shape=[None, 9, 44], name='input')
operation_1 = tf.reduce_mean(input)
def index(request):
render('my_app/train.html') # Displays train.html page
def perform_operation(request):
global input, operation_1
sess.run(operation_1, {input: request.POST['input']})
return HttpResponse(1)
train.html
<script>
$.ajax({
url: "{% url 'perform_operation' %}" # Calls perform_operation method in views.py,
data: {"input": [1, 2, 3]}
});
</script>
我之前指定的错误指向"sess.run"行 .
我整天都在寻找解决方案,但仍然没有任何事情发生 .
非常感谢任何帮助,谢谢 .
1 回答
找到了答案 . 用
graph.as_default()
包装Tensor对象就可以了 .graph
使用graph = tf.Graph()
初始化并全局保存 .