python-3.x - 如何查找tensorflow.python.data.ops.dataset_ops.MapDataset对象的大小或形状,make_csv_dataset的输出

标签 python-3.x csv tensorflow tensorflow2.0 tensorflow-datasets

使用make_csv_dataset我们可以将 CSV 文件读取到 tensorflow 数据集对象

csv_data = tf.data.experimental.make_csv_dataset(
    "./train.csv",
    batch_size=8190,
    num_epochs=1,
    ignore_errors=True,)

现在csv_data类型为tensorflow.python.data.ops.dataset_ops.MapDataset 。如何找到 csv_data 的大小或形状.

print(csv_data)给出列信息如下

<MapDataset element_spec={'title': TensorSpec(shape=(None,), dtype=tf.string, name=None), 'user_id': TensorSpec(shape=(None,), dtype=tf.string, name=None)}>

当然可以从 train_recom.csv 获取使用和pandas.read_csv是可选的,只是好奇 tensorflow 是否有更简单的东西。

最佳答案

如果您想在不进行任何预处理步骤的情况下获取批处理数据集的大小,请尝试:

import pandas as pd
import tensorflow as tf

df = pd.DataFrame(data={'A': [50.1, 1.23, 4.5, 4.3, 3.2], 'B':[50.1, 1.23, 4.5, 4.3, 3.2], 'C':[5.2, 3.1, 2.2, 1., 3.]})

df.to_csv('data1.csv', index=False)
df.to_csv('data2.csv', index=False)

dataset = tf.data.experimental.make_csv_dataset(
    "/content/*.csv",
    batch_size=2,
    field_delim=",",
    num_epochs=1,
    select_columns=['A', 'B', 'C'],
    label_name='C')

dataset_len = len(list(dataset.map(lambda x, y: (x, y))))
print(dataset_len)
5

如果您想知道总共有多少个样本,请尝试unbatch:

dataset_len = len(list(dataset.unbatch().map(lambda x, y: (x, y))))
print(dataset_len)
# 10

关于python-3.x - 如何查找tensorflow.python.data.ops.dataset_ops.MapDataset对象的大小或形状,make_csv_dataset的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71552166/

相关文章:

python - 比较 7 个制表符分隔的文件,打印相似之处

python - 无法安装 TensorFlow Python 依赖项

python - Keras 中的 Bi-LSTM 注意力模型

python-3.x - 如何通过 Selenium 在 Chrome 浏览器中使用 Tor

python - 如何在 python 3 中打印到标准输出?

python - 使用 python3 查找数字列表中的第二大数字

powershell - 如何导入CSV文件中每行的前两个值电源外壳

python - 类型错误 : 'type' object is not subscriptable when indexing in to a dictionary

python - 从 CSV 加载数据时,QAbstractListModel 不会更新值,但在使用硬编码值时会更新

python - 在 Keras 上使用 TensorFlow 后端时出现奇怪的输出(OMP : Info #xx KMP_AFFINITY)