我需要从文本文件中加载包含2D数组字符串表示的行,以便以后在训练Tensorflow CNN时使用,但我无法将字符串转换为Tensorflow喜欢的格式。我尝试了apply/map/各种函数的各种组合,但总是出现一些神秘的错误。下面是一个玩具示例代码,它接近正常工作,但仍会抛出一个错误:
ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type numpy.ndarray)
import tensorflow as tf
import numpy as np
import pandas as pd
from ast import literal_eval
def df_to_dataset(dataframe):
Y = tf.convert_to_tensor( dataframe['Y'].values )
X = tf.convert_to_tensor( dataframe['X'].apply(literal_eval).apply(np.array).values )
return tf.data.Dataset.from_tensor_slices( ( X , Y ) )
data = [[ 1, "[[0,1],[0,1]]" ] , [ 0 , "[[1,0],[1,0]]" ]]
df = pd.DataFrame(data, columns=['Y','X'])
dataset = df_to_dataset(df)
for feature in dataset.take(1):
print( feature )