Python tf.data.Dataset.from_tensor_切片、张量和渴望模式
使用Iris数据集示例:Python tf.data.Dataset.from_tensor_切片、张量和渴望模式,python,tensorflow,keras,tensor,tensorflow-datasets,Python,Tensorflow,Keras,Tensor,Tensorflow Datasets,使用Iris数据集示例: train_ds_url = "http://download.tensorflow.org/data/iris_training.csv" 使用的进口: import tensorflow as tf import pandas as pd import numpy as np tf.enable_eager_execution() 我下载了数据集,然后使用pd.read表示train\u plantfeatures,train\u categories数组 ca
train_ds_url = "http://download.tensorflow.org/data/iris_training.csv"
使用的进口:
import tensorflow as tf
import pandas as pd
import numpy as np
tf.enable_eager_execution()
我下载了数据集,然后使用pd.read
表示train\u plantfeatures
,train\u categories
数组
categories='Plants'
train_path = tf.keras.utils.get_file(train_ds_url.split('/')[-1], train_ds_url)
train = pd.read_csv(train_path, names=ds_columns, header=0)
train_plantfeatures, train_categories = train, train.pop(categories)
之后,我使用tf.contrib.keras.utils.to_category
来创建分类表示
y_categorical = tf.contrib.keras.utils.to_categorical(train_categories, num_classes=3)
当我试图使用来自张量切片的tf.data.Dataset
和时
dataset = tf.data.Dataset.from_tensor_slices((train_plantfeatures, y_categorical))
我收到:
ValueError:无法将非矩形Python序列转换为张量
没有急切模式的相同实现也可以完美地工作。这里的示例来自_tensor_slices()
方法的接收一个Numpy数组作为输入。但是在这种情况下,变量train\u plantfeatures
是一个DataFrame
type(train_plantfeatures)
`Out:` pandas.core.frame.DataFrame
要实现此功能,请添加.values
以将Pandas转换为Numpy:
dataset = tf.data.Dataset.from_tensor_slices((train_plantfeatures.values,
y_categorical))
对test\u plantfeatures
变量执行相同操作:
dataset_test = tf.data.Dataset.from_tensor_slices((test_plantfeatures.values,
y_categorical_test))