Tensorflow2.0数据集

#Tensorflow2.0数据集

import tensorflow as tf
#数据文件输入和预处理
raw_data = tf.io.read_file(filename='./data_file')
raw_data = tf.io.decode_raw(input_bytes=raw_data, out_type=tf.int8)
raw_data = tf.reshape(raw_data, [128, 1024])
raw_data = tf.dtypes.cast(raw_data, tf.float16)/255.0
#标签文件输入和预处理
raw_label = tf.io.read_file(filename='./label_file')
raw_label = tf.io.decode_raw(input_bytes=raw_label, out_type=tf.int8)
raw_label = tf.reshape(raw_label, [128, 1])
#生成数据集
dataset = tf.data.Dataset.from_tensor_slices((raw_data, raw_label))
#数据集后处理,打乱和打包
dataset = dataset.shuffle(buffer_size=100)
dataset = dataset.batch(8)

预处理函数

tf.io.read_file

读取文件,返回字符串类型的张量,即整个文件就是一个字符串类型的张量。

tf.io.decode_raw

将一个字符串类型张量解释成数字类型张量,我们这里解释为8位整型的张量。
如果原文件长度为1281024,那么就有1281024个8位整型张量,此时张量shape为(128*1024, )

tf.reshape

张量重塑。我们这里将(128*1024,)重塑为(128, 1024)

tf.dtypes.cast

类型转换。我们这两将tf.int8转换成tf.float16。

猜你喜欢

转载自blog.csdn.net/lsshao/article/details/115485518