Nic*_*tti 2 python keras tensorflow tensor tensorflow-datasets
使用虹膜数据集示例:
train_ds_url = "http://download.tensorflow.org/data/iris_training.csv"
Run Code Online (Sandbox Code Playgroud)
使用的进口商品:
import tensorflow as tf
import pandas as pd
import numpy as np
tf.enable_eager_execution()
Run Code Online (Sandbox Code Playgroud)
我下载的数据集,然后我用pd.read表示 train_plantfeatures, train_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)
Run Code Online (Sandbox Code Playgroud)
之后,我用来tf.contrib.keras.utils.to_categorical创建分类表示。
y_categorical = tf.contrib.keras.utils.to_categorical(train_categories, num_classes=3)
Run Code Online (Sandbox Code Playgroud)
当我尝试使用tf.data.Dataset和from_tensor_slices
dataset = tf.data.Dataset.from_tensor_slices((train_plantfeatures, y_categorical))
Run Code Online (Sandbox Code Playgroud)
我收到了:
ValueError:无法将非矩形Python序列转换为Tensor。
没有急切模式的相同实现完美工作。以下是Colab示例
该from_tensor_slices()方法接收Numpy数组作为输入。但是在这种情况下,变量train_plantfeatures是Pandas DataFrame。
type(train_plantfeatures)
`Out:` pandas.core.frame.DataFrame
Run Code Online (Sandbox Code Playgroud)
要使其工作,请添加.values从Pandas到Numpy的转换:
dataset = tf.data.Dataset.from_tensor_slices((train_plantfeatures.values,
y_categorical))
Run Code Online (Sandbox Code Playgroud)
对test_plantfeatures变量执行相同的操作:
dataset_test = tf.data.Dataset.from_tensor_slices((test_plantfeatures.values,
y_categorical_test))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2227 次 |
| 最近记录: |