首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读入tfrecords文件时出现警告,程序一直运行不能停,print标记后发现未打印数据,如何修改?

读入tfrecords文件时出现警告,程序一直运行不能停,print标记后发现未打印数据,如何修改?

提问于 2019-02-18 10:42:41
回答 1关注 1查看 4.5K
代码语言:python
运行
AI代码解释
复制
"""这个是运行之后的警告提示:求助大神该怎么解决,我的标签内容是[1,0]或[0,1],图片数据是128*128*1,以下是我生成读取tfrecords文件的代码,以及神经网络反向传播中的代码,可能错误的地方我在其中进行了标注,求大神指出错误,多谢
2019-02-18 18:20:19.672703: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
WARNING:tensorflow:From C:/srtp/CNN/backward.py:46: start_queue_runners (from tensorflow.python.training.queue_runner_impl) is deprecated and will be removed in a future version.
Instructions for updating:
To construct input pipelines, use the `tf.data` module.
WARNING:tensorflow:`tf.train.start_queue_runners()` was called when no queue runners were defined. You can safely remove the call to this deprecated function.
WARNING:tensorflow:From C:\srtp\CNN\tfrecords_operate.py:40: string_input_producer (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.Dataset.from_tensor_slices(string_tensor).shuffle(tf.shape(input_tensor, out_type=tf.int64)[0]).repeat(num_epochs)`. If `shuffle=False`, omit the `.shuffle(...)`.
WARNING:tensorflow:From C:\Python\lib\site-packages\tensorflow\python\training\input.py:276: input_producer (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.Dataset.from_tensor_slices(input_tensor).shuffle(tf.shape(input_tensor, out_type=tf.int64)[0]).repeat(num_epochs)`. If `shuffle=False`, omit the `.shuffle(...)`.
WARNING:tensorflow:From C:\Python\lib\site-packages\tensorflow\python\training\input.py:188: limit_epochs (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.Dataset.from_tensors(tensor).repeat(num_epochs)`.
WARNING:tensorflow:From C:\Python\lib\site-packages\tensorflow\python\training\input.py:197: QueueRunner.__init__ (from tensorflow.python.training.queue_runner_impl) is deprecated and will be removed in a future version.
Instructions for updating:
To construct input pipelines, use the `tf.data` module.
WARNING:tensorflow:From C:\Python\lib\site-packages\tensorflow\python\training\input.py:197: add_queue_runner (from tensorflow.python.training.queue_runner_impl) is deprecated and will be removed in a future version.
Instructions for updating:
To construct input pipelines, use the `tf.data` module.
WARNING:tensorflow:From C:\srtp\CNN\tfrecords_operate.py:41: TFRecordReader.__init__ (from tensorflow.python.ops.io_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.TFRecordDataset`.
WARNING:tensorflow:From C:\srtp\CNN\tfrecords_operate.py:63: shuffle_batch (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.Dataset.shuffle(min_after_dequeue).batch(batch_size)`.
eee

Process finished with exit code -1"""
    
#tfrecords_operate.py

import tensorflow as tf
import csv
from PIL import Image

def write_tfRecord(tfRecordName,img_path,label_path,top_content):
    writer=tf.python_io.TFRecordWriter(tfRecordName)
    num_pic=0
    lab=[]
    with open(label_path) as lab_file:
        reader_label=lab_file.read()
        lab_initial = reader_label.split("\n")
        length = len(lab_initial)
        for i in range(length):
            lab_initial[i] = lab_initial[i].split(",")
    with open(img_path) as img_file:
        reader_img=csv.reader(img_file)
        for line in reader_img:
            s=top_content+line[0]
            img=Image.open(s)
            img=img.resize((128,128))
            img_raw=img.tobytes()
            j=0
            for j in range(length) :
                if lab_initial[j][0] in line[0]:
                     lab.append(int(lab_initial[j][1]))
                     break
            labb=[lab[num_pic],1-lab[num_pic]]
            print(s,labb)
            example=tf.train.Example(features=tf.train.Features(feature={'img_raw':tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw])),'lab':tf.train.Feature(int64_list=tf.train.Int64List(value=labb))}))
            writer.write(example.SerializeToString())
            num_pic += 1
    writer.close()


def read_tfRecord(tfRecord_path):
    filename_queue=tf.train.string_input_producer([tfRecord_path])
    reader=tf.TFRecordReader()
    _,serialized_example=reader.read(filename_queue)
    features=tf.parse_single_example(serialized_example,features={ 'img_raw':tf.FixedLenFeature([],tf.string),'lab':tf.FixedLenFeature([2],tf.int64)})
    img=tf.decode_raw(features['img_raw'],tf.uint8)
 
    img=tf.cast(img,tf.float32)*(1./255)
    #img=tf.cast(img,tf.uint8)
    label=tf.cast(features['lab'],tf.float32)
    return img,label

def get_tfrecord(num,is_train):
    if is_train==True:
        tfRecord_path = 'train.tfrecords'
    else:
        tfRecord_path = 'test.tfrecords'
    img,label=read_tfRecord(tfRecord_path)
    img_batch,label_batch=tf.train.shuffle_batch([img,label],batch_size=num,num_threads=2,capacity=1000,min_after_dequeue=700,seed=None,enqueue_many=True)
    #提示说这句话有警告
    return img_batch,label_batch

def main():
    write_tfRecord('train.tfrecords','C:/srtp/MURA-v1.1/train_img.csv','C:/srtp/MURA-v1.1/train_label.csv','C:/srtp/')
    write_tfRecord('test.tfrecords','C:/srtp/MURA-v1.1/test_img.csv','C:/srtp/MURA-v1.1/test_label.csv','C:/srtp/')

if __name__ == '__main__':
    main()
    
    
#backward.py

import tensorflow as tf
import forward
import tfrecords_operate as data

BATCH_SIZE=100
LEARNING_RATE_BASE=0.005
LEARNING_RATE_DECAY=0.99
LEARNING_RATE_STEP=1
REGULARIZER=0.0001
STEPS=10000
MOVING_AVERAGE_DECAY=0.99
MODEL_SAVE_PATH="model/"
MODEL_NAME='cnn'
train_num_examples=3457

def backward():
    x=tf.placeholder(tf.float32,[BATCH_SIZE,forward.IMAGE_SIZE,forward.IMAGE_SIZE,forward.NUM_CHANNELS])
    y_=tf.placeholder(tf.float32,[None,forward.OUTPUT_NODE])
    y=forward.forward(x,True,REGULARIZER)
    global_step=tf.Variable(0,trainable=False)

    ce=tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y,labels=tf.argmax(y_,1))
    cem=tf.reduce_mean(ce)
    loss=cem+tf.add_n(tf.get_collection('losses'))
    learning_rate = tf.train.exponential_decay(LEARNING_RATE_BASE, global_step, LEARNING_RATE_STEP, LEARNING_RATE_DECAY,
                                               staircase=True)
    train_step=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss,global_step=global_step)

    ema=tf.train.ExponentialMovingAverage(MOVING_AVERAGE_DECAY,global_step)
    ema_op=ema.apply(tf.trainable_variables())
    with tf.control_dependencies([train_step,ema_op]):
        train_op=tf.no_op(name='train')

    saver=tf.train.Saver()

    with tf.Session() as sess:
        init_op=tf.global_variables_initializer()
        sess.run(init_op)

        ckpt=tf.train.get_checkpoint_state(MODEL_SAVE_PATH)
        if ckpt and ckpt.model_checkpoint_path:
            saver.restore(sess,ckpt.model_checkpoint_path)

        coord=tf.train.Coordinator()
        threads=tf.train.start_queue_runners(sess=sess,coord=coord)
        img_batch, label_batch = data.get_tfrecord(BATCH_SIZE, True)
        for i in range(STEPS):
            print('eee')#这个eee可以输出
            [xs,ys] = sess.run([img_batch,label_batch])
            reshaped_xs=tf.reshape(xs,(BATCH_SIZE,forward.IMAGE_SIZE,forward.IMAGE_SIZE,forward.NUM_CHANNELS))
            _,loss_value,step=sess.run([train_op,loss,global_step],feed_dict={x:reshaped_xs,y_:ys})
            print('888')#就是这个888一直输不出来
            if i%100==0:
                print('After %d training step(s),loss on training batch is %g.'%(step,loss_value))
                saver.save(sess,'model/cnn.ckpt',global_step=global_step)

        coord.request_stop()
        coord.join(threads)
def main():
    backward()

if __name__ == '__main__':
    main()

回答 1

发条丶魔灵1

发布于 2020-09-24 08:14:33

您好,请问您是要找哪篇文章的续篇呢?

和开发者交流更多问题细节吧,去 写回答
相关文章
我就是想找个下标,怎么用到二分查找了?
第一:indexOf底层的遍历如果极端情况下,10000用户,恰好当前用户排在第10000个,那效率太低。
疯狂的KK
2020/09/02
3940
还想找个程序员当女婿?如果告诉你程序员就是下一代蓝领呢?
大数据文摘作品 编译:林海、吴双、小鱼 还记得去年某AI峰会上,一位妈妈高调征婚替女儿找“程序员”女婿的新闻刷爆了当天的朋友圈。程序员向来被认为是一个还算体面的职业,高门槛,高收入,有前景,这些都让外行人望而却步。但是,越来越多的技术需求下,程序员的技能正在被“批量生产”。 通常,当我问起人们对程序员的印象时,他们都把程序员想象成马克·扎克伯格那样:一个穿着连帽衫的大学辍学生,热火朝天地写上72小时代码,就能做出一款app,并以迅速发家致富为目标,还试图“改变世界”。 但是,从全美国来看,硅谷程序员的范例
大数据文摘
2018/05/24
2790
下一代 Web 服务开发,就是这么快!
对于广大开发者而言,搭建一个自己的 Web 服务是最为常见的开发场景之一。无论是全栈网站的搭建,还是创建 API 接口,都需要一个可以快速接收并处理 HTTP 请求的 Web 框架。Serverless 时代来临,既希望享受云计算带来的弹性伸缩、免运维等众多优势,却又囿于基于事件触发带来的改造成本而无法轻易尝试。Web 服务如何与 Serverless 完美适配成了我们需要攻克的难题。 01. Web 服务开发发展趋势 从发展历程来看,Web 服务开发可以分为三个阶段:本地服务器部署 - 云主机部署 -
腾讯云serverless团队
2021/06/08
7680
想找到你想找的人,了解这3大定位方式就够了
在手机、电脑等电子设备与我们如影随形的今天,有多少种定位方式可以了解到“我们在哪”,谁拥有了解我们位置的权限,以及不同定位方式的区别到底是什么?
埃文科技
2022/07/18
1.1K0
想找到你想找的人,了解这3大定位方式就够了
用 git bisect 快速定位你想找的 commit
没错,我们确实可以通过二分的方式来查找,先确定查找的 commit 范围,试下中间的 commit 有没有问题,然后缩小范围,再试下中间的,逐步缩小范围直到只有一个 commit。
神说要有光zxg
2023/08/29
2870
用 git bisect 快速定位你想找的 commit
【实习】想找个前端实习,应该掌握些啥?
如图, 前段时间有个同学问我,大二自学前端,想在暑假找个实习,需要掌握哪些技术? 首先这个同学没写在哪个城市,哪个大学。这就很不好回答了,北上广和三线城市,那互联网行业差别很大的。 我就假设你在北上广与二线城市之间的这么一个城市吧,然后你所在读的大学就是一个普通往上一点的大学吧。(毕竟我也没上过什么大学),然后你所在的城市有一个上下差不多的互联网环境。 那么你说想在暑假找实习,我个人主观就觉得不太靠谱,你暑假才一个多月,哪有那么凑巧的实习让你碰上啊,毕竟找实习的大学生那么那么那么多。所以这个时间段的设想
web前端教室
2018/04/26
1.2K0
【实习】想找个前端实习,应该掌握些啥?
想找份更好的编程工作应该学什么?
编者按:Swizec Teller认为,这个问题的问题也许在于问错了问题。 许多人都问我类似这样的问题“我应该学什么才能拿到一份编程工作?”或者“我怎么才能在硅谷当上工程师?” 又比如下面这个: 我需要一点建议。我已经33岁了,我得离开做支持的岗位,哪怕不能做全栈开发至少也能谋个DevOps的工作,但是太贵了。我应该先学什么呢?各位有什么建议吗? 言下之意通常是应该学什么技术才能找到一份工作。就好像你的技术选择就是某种银弹似的。 想知道一点肮脏的小秘密?其实学什么都没关系。 任何你听说过的技术都可以。你
用户1667431
2018/04/18
6780
想找份更好的编程工作应该学什么?
Hexo 分类中上一篇、下一篇文章
所以结合 Hexo 基于分类输出文章 - 折影轻梦 (nexmoe.com) 我写了一个基于分类输出上一篇、下一篇文章。
折影轻梦
2021/08/11
6400
Typecho实现文章上一篇下一篇功能
在别人博客看到主题底部都带上一篇下一篇的跳转功能,注意到这一细节后才想到自己的博客主题没有带,夺笋啊这
qiangzai
2021/12/21
6770
Typecho实现文章上一篇下一篇功能
TE获取上一篇/下一篇的链接
这样的会输出同时文章的标题和链接,不是很利于加样式。 不过1.0版的typecho,已经支持更灵活的上下文输出:
泽泽社长
2023/04/17
3370
抢先学鸿蒙(HarmonyOS)2.0,你就是下一个大咖!
2020年9月10日,华为开发者大会发布了鸿蒙(HarmonyOS)2.0。HarmonyOS是全场景操作系统。也就是说,从理论上,HarmonyOS可以在任何平台上运行(包括但不限于PC、手机、平板电脑、车载电脑、手表、iot设备等)。那么这是怎么做到的呢?
蒙娜丽宁
2020/09/24
1.7K0
抢先学鸿蒙(HarmonyOS)2.0,你就是下一个大咖!
用CSS画小猪佩奇,你就是下一个社会人!
我是佩奇,哼,这是我的弟弟乔治,呱呱,这是我的妈妈,嚯,这是我的爸爸,嚯~
鹅厂优文
2018/05/17
4.4K16
用CSS画小猪佩奇,你就是下一个社会人!
mysql的UUID获取上一篇下一篇(上一条 下一条)应用实例[通俗易懂]
增加rownum:(对比上面sql与下面sql 加入 –标记的操作) 说明:实际应用中通常获取上一条 下一条的uuid即可 这里我结果集 我增加了rowNum后,只查询了uuid 这个代码只观察标记位置的实际操作下面附上不带“–”的效果和结果:
全栈程序员站长
2022/09/22
1.2K0
mysql的UUID获取上一篇下一篇(上一条 下一条)应用实例[通俗易懂]
跟着节奏来,下一个算法大师就是你,此文不容错过
其实这个问题就是一个非常经典的快排问题,但是大多数人遇到这个问题时,总是被前面的数量级总认为这样的问题无法通过排序算法完成。问题的表现形式常常用以下方式描述: "如何从10万个数中找到最大的100个数"。实际上这个问题就是今天我们要探讨的算法题,设计一个算法,找出数组中最小的k个数,以任意顺序返回这k个数均可;
CC老师
2020/11/25
5620
跟着节奏来,下一个算法大师就是你,此文不容错过
如果你想找一份前端主管的工作~~
如题,自己一直在从事也在关注前端主管的相关工作,包括其任职资格和工作内容,自己花时间整理了一张思维导图,希望能以后转型管理的小伙伴一点点帮助,另外如果你想找对应的工作,务必要看下自己在这方面可供讲述、分享的事情是什么,才好更顺利的拿到offer哦。
RobinsonZhang
2018/11/07
7180
thinkphp5.0 文章详情页 上一篇 下一篇
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113640.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
3930
IntelliJ IDEA 报错:找不到包或者找不到符号
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147792.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/07
6.9K0
Typecho无插件实现同分类文章上一篇下一篇
这个功能因为自己突然有需要,然后去论坛搜了下发现也有人问过,帖子里有人推荐了个插件可以实现,不过我突然想到个模板函数,就是自定义文章上下篇链接的,好像就可以直接实现,不需要插件。
泽泽社长
2023/04/17
4140
英语文档不看懂?学习Pinia就是这么简单---state篇
上一篇文章我们大体的介绍了一下 Pinia 的基本信息和基本概念,相信大多数小伙伴都对这个概念有了一个基本的认识。
用户9078190
2022/10/28
7170
英语文档不看懂?学习Pinia就是这么简单---state篇
算法+数据结构(第02篇)玩扫雷就是优化算法
上篇文章介绍了算法的本质和基本概念《算法+数据结构(第01篇)走下神坛吧!算法》,这次我们用实际的问题来做算法实战。
用户5224393
2019/06/05
8060
算法+数据结构(第02篇)玩扫雷就是优化算法

相似问题

就是无法启动?

0112

就是js导出csv?

071

就是想知道怎么进去 ?

2348

最便宜的就是最贵的啊!!!!?

2353

腾讯在 MICCAI 2019 入选的8篇文章在哪边可以找到?

1427
相关问答用户
平安资管 | 架构师擅长4个领域
擅长3个领域
腾讯云TDP | 高级后端开发工程师擅长3个领域
擅长4个领域
高级数据分析师擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档