Py学习  »  Python

在Python/Tensorflow中:如何将2D数组的字符串表示形式从文本文件转换为TF可以使用的内容

deprekate • 3 年前 • 1384 次点击  

我需要从文本文件中加载包含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 )
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132859
 
1384 次点击  
文章 [ 1 ]  |  最新文章 3 年前