调试错误:ValueError: Protocol message Feature has no "feature" field.

本文记录了在使用TensorFlow创建TFRecords文件时遇到的一个常见错误,并提供了详细的修正方法。错误发生在尝试写入Example对象时,原因是误将tf.train.Features写成了tf.train.Feature。

学习《Tensorflow:实战Google深度学习框架》过程中,在复现第7章 7.1节中的例子时出现错误

代码:

#-*-coding:utf-8-*-
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
import numpy as np

##
def _int64_feature(value):
    return tf.train.Feature(int64_list = tf.train.Int64List(value=[value]))
def _bytes_feature(value):
    return tf.train.Feature(bytes_list = tf.train.BytesList(value = [value]))

mnist = input_data.read_data_sets('./mnist_data',dtype=tf.uint8,one_hot=True)

images = mnist.train.images
labels = mnist.train.labels

pixels = images.shape[1]
num_examples = mnist.train.num_examples

filename = './mnist_data/output.tfrecords'
writer = tf.python_io.TFRecordWriter(filename)

for index in range(num_examples):
    image_raw = images[index].tostring()
    example = tf.train.Example(
        features = tf.train.Feature(
            feature = {
                'pixels':_int64_feature(pixels),
                'label':_int64_feature(np.argmax(labels[index])),
                'image_raw':_bytes_feature(image_raw)
            }
        )
    )

    writer.write(example.SerializeToString())
writer.

 

出错情况:

出错原因:以下位置

 example = tf.train.Example(
        features = tf.train.Feature(

tf.train.Feature 应该是 tf.train.Features。 少写了一个s 。

感谢博主:https://blog.youkuaiyun.com/Eric_Blog_优快云/article/details/80466071#commentBox

 

■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ 首先说明: 1、绿色无毒,亲测可用,放心使用,分享万岁 2、找了好久,终于可用 3、secureCRT_6.7.4.354 可以自己到官网下载 也可以用我下载的(无毒) 4、注册机无毒(之前我找的注册机,被查杀了。 但这个没的哦。大家可以去在杀毒。 提供一个在线杀毒网址(里面有很多杀毒软件) http://r.virscan.org/report/5f784624d930eb5b75cbcc7112876edc.html (这个是我杀毒留下的日志,可以查看一下,是不是没有毒哦) http://www.virscan.org/(自己上传注册机,杀毒就可以了) --------------------------------------- 文件名称 : secureCRT_6.7.4.354.exe (本站不提供任何文件的下载服务) 文件大小 : 16296112 byte 文件类型 : PE32 executable for MS Windows (GUI) Intel 80386 32-bit MD5 : dba0a9f69dd227e147beec161d29785a SHA1 : 5e67b0759c598d382fba9430324f140150ef53af --------------------------------------- ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ 测试版本:SecureCRT 6.7.4 软件首页:SecureCRT (non-integrated) 下载地址:http://www.vandyke.com/download/securecrt/download.html 帐号密码:zhanqi0404@163.com/zhanqi0404 注册机:SecureCRT.v.6.X-kg ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ 注册步骤: 1:安装 SecureCRT 2:复制 SecureCRT.6.X.Keygen.exe 到 SecureCRT 安装目录 3:启动注册机,输入注册信息,随便输入用户和公司,点击 Patch 4:点击 Generate,生成序列号跟 Licence 5:启动 SecureCRT,按照步骤输入注册信息 6:完成注册 7、”features:(leave blank if license has no features“这个地方不用填写,否则完成不了 ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■ 备注说明: 我安装时候,缺水一个mfc100u.dll文件,搜索后再站长网(admin5.com)下载的 其它网站不放心哦。 没发现其它问题。 2013.8.14 ■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值