使用tensorflow进行umapfit_transforminputs出现TypeError __array__ takes 1 positional argument but 2 were given inputseval转换为numpy数组时出现ValueError Cannot evaluate tensor using eval 使用的是tensorflow—gpu 115版本。使用
这个错误提示表明你的代码中使用了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/bJnM 著作权归作者所有。请勿转载和采集!