Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tf.data.Dataset.from_tensor_切片、张量和渴望模式_Python_Tensorflow_Keras_Tensor_Tensorflow Datasets - Fatal编程技术网

Python tf.data.Dataset.from_tensor_切片、张量和渴望模式

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

使用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
数组

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))