gpt4 book ai didi

python - Tensorflow:无法将函数转换为张量或运算

转载 作者:行者123 更新时间:2023-11-30 09:49:01 25 4
gpt4 key购买 nike

我已经通读了之前的字符串。我的数据采用数组的形式提供给占位符。在馈送之前尝试将数据转换为张量会产生不同的(相反的)错误消息。其他解决方案同样在这种情况下似乎不起作用。这是最少的代码。

from __future__ import print_function

import numpy as np
import tensorflow as tf
from tensorflow.contrib.factorization import KMeans

X = tf.placeholder(tf.float32, shape=[None, 10], name="X")

data = np.random.randn(2,10)

def lump(X):
# Build KMeans graph
kmeans = KMeans(inputs=X, num_clusters=k, distance_metric='cosine',
use_mini_batch=True)
(all_scores, cluster_idx, scores, cluster_centers_initialized, cluster_centers_var, init_op,
train_op) = kmeans.training_graph()
cluster_idx = cluster_idx[0] # fix for cluster_idx being a tuple
avg_distance = tf.reduce_mean(scores)

return cluster_idx, scores

# Initialize the variables (i.e. assign their default value)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
idx, d = sess.run(lump,feed_dict={X: data})

最佳答案

正确,您不能仅评估lump,因为它是一个函数(返回张量),而不是张量>op。您可能打算做这样的事情:

cluster_idx, scores = lump(X)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
idx, d = sess.run([cluster_idx, scores], feed_dict={X: data})

请注意,lump()tf.global_variables_initializer() 之前调用,因为它在图中定义了新变量,因此必须对它们进行初始化。

代码仍然失败,因为 lump 显然尚未完成并且存在尺寸问题,但这是在 session 中评估某些内容的正确方法。

关于python - Tensorflow:无法将函数转换为张量或运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48330313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com