tfrecords 格式数据集 的one hot 问题

tfrecords格式本身没有one hot ,而mnist数据集打开的时候就有选项,很方便。

笔者参考网上的资料,摸索了下,箭如下代码:

def read_and_decode(filename):
    # 创建文件队列,不限读取的数量
    filename_queue = tf.train.string_input_producer([filename])
    # create a reader from file queue
    reader = tf.TFRecordReader()
    # reader从文件队列中读入一个序列化的样本
    _, serialized_example = reader.read(filename_queue)
    # get feature from serialized example
    # 解析符号化的样本
    features = tf.parse_single_example(
        serialized_example,
        features={
            'label': tf.FixedLenFeature([], tf.int64),
            'img_raw': tf.FixedLenFeature([], tf.string)
        }
    )
    label = features['label']
    img = features['img_raw']
    img = tf.decode_raw(img, tf.uint8)
    img = tf.reshape(img, [400, 400, 1])
    img = tf.cast(img, tf.float32)
    label = tf.cast(label, tf.int32)
    label = tf.one_hot(label,n_class,1,0)
    print(label)

你可能感兴趣的:(深度学习)