TensorFlow UMAP `fit_transform` 错误: TypeError 和 ValueError 解决方法
这个错误提示表明你的代码中使用了 placeholder,但是没有为其提供值。在使用 tf.Session() 运行图并获取张量的值时,需要使用 feed_dict 参数来提供 placeholder 的值。具体来说,你需要为 'input' 这个 placeholder 提供一个形状为 [?,256] 的浮点型 NumPy 数组,例如:
import numpy as np
import tensorflow as tf
import umap
# 创建一个形状为[10,256]的随机浮点型 NumPy 数组作为输入
inputs = np.random.rand(10, 256)
# 定义一个 placeholder
input_placeholder = tf.placeholder(tf.float32, shape=[None, 256], name='input')
# 使用UMAP进行降维
umap_op = umap.UMAP(n_components=2)
embedding = umap_op.fit_transform(input_placeholder)
# 创建一个Session,并运行图
with tf.Session() as sess:
# 为 input_placeholder 提供输入数据
feed_dict = {input_placeholder: inputs}
# 运行 embedding 张量,并将其转换为 NumPy 数组
embedding_np = sess.run(embedding, feed_dict=feed_dict)
print(embedding_np)
这样就可以避免上述错误了。
原文地址: https://www.cveoy.top/t/topic/jr6D 著作权归作者所有。请勿转载和采集!