我有一个带字符串值的numpy数组(n x m矩阵)。用
创建张量input_fn = lambda:tf.data.Dataset.from_tensors(tf.convert_to_tensor(data_np, dtype=tf.string)).repeat(1)
很好,但是 tf.contrib.factorization.KMeansClustering
的训练方法kmeans = tf.contrib.factorization.KMeansClustering(
num_clusters=num_clusters, use_mini_batch=False)
kmeans.train(input_fn=input_fn)
引发错误消息 传递给“ ConcatV2” Op的“值”的列表中的张量具有[float32,string]类型,它们并不完全匹配。。
我该如何解决这个问题?
我试图将所有数据转换为字符串,但是没有找到有关第一个 float32
的起源的任何信息data_np = np.asarray(liste, np.unicode_) # data_np is n x m matrix
...
input_fn = lambda:tf.data.Dataset.from_tensors(tf.convert_to_tensor(data_np, dtype=tf.string)).repeat(1)
kmeans = tf.contrib.factorization.KMeansClustering(
num_clusters=num_clusters, use_mini_batch=False)
num_iterations = 10
previous_centers = None
for _ in range(num_iterations):
kmeans.train(input_fn=input_fn)