我想问一下猫狗大战中出现Attempted to use a closed Session.怎么解决

2023-11-11

import os
import tensorflow as tf
from time import time
import VGG16_model as model#自己定义的
import utils#定义了我们所用到的功能函数
from scipy.misc import imread,imresize
import numpy as np
startTime=time()
batch_size=32
capacity=180#内存中存储的最大数据容量,根据自己的电脑配置而定
means=[123.68,116.779,103.939]#VGG训练时图像预处理所减均值(RGB三通道)
sess=tf.Session()#声明会话
init=tf.global_variables_initializer()#调用变量
sess.run(init)#运行变量
xs,ys=utils.get_file('./data/train/')#获取图像列表和标签列表
image_batch,label_batch=utils.get_batch(xs,ys,224,224,batch_size,capacity)#通过读取列表来载入批量图片及标签
x=tf.placeholder(tf.float32,[None,224,224,3])
y=tf.placeholder(tf.int32,[None,2])
vgg=model.vgg16(x)#输出模型
fc8_finetuining=vgg.probs#即sofemax(fc8)微调(finetuining)sofemax(fc8)
loss_function=tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=fc8_finetuining,labels=y))
optimizer=tf.train.GradientDescentOptimizer(0.001).minimize(loss_function)#GradientDescentOptimizer下降优化器  
sess=tf.Session()#声明会话
init=tf.global_variables_initializer()#调用变量
sess.run(init)#运行变量
vgg.load_weights('./data/vgg16_weights.npz',sess)#通过npz格式的文件获取VGG的相应权重参数,从而将权重注入即可实现复用  
saver=tf.train.Saver()#生成saver,用于保存和提取变量
print('Model restoting......')
saver.restore(sess,'./model/')#恢复最后保存的模型
#saver.restore(sess,'.model/epoch_00800.ckpt')恢复指定检查点的模型
print('traing starts from {} epoch'.format(start+1))
coord=tf.train.Coordinator()#使用协调器Coordinator来管理线程
threads=tf.train.start_queue_runners(coord=coord,sess=sess)
epoch_start_time=time()
for i in range(start,1000):
    images,labels=sess.run([image_batch,label_batch])
    labels=utils.onehot(labels)#用one-hot对标签进行编码
    sess.run(optimizer,feed_dict={x:images,y:labels})
    loss=sess.run(loss_function,feed_dict={x:images,y:labels})
    print('现在的损失为:%f'%loss)
    epoch_end_time=time()
    print('当前训练花费的时间:',(epoch_end_time-epoch_start_time))
    epoch_start_time=epoch_end_time
      #保存检查点
    saver.save(sess,ckpt_dir+'cats-vs-dogs_cnn_model.ckpt',global_step=i+1)
    sess.run(epoch.assign(i+1))
    print('===============Epoch %d is finished==============='%i)
    saver.save(sess,'./model/')
print('Optimization Finished!')
coord.request_stop()#通知其它线程关闭
coord.join(threads)#join操作等待其他线程结束,其他所有线程关闭之后,这一函数才能返回
filepath='./data/test1/100.jpg'#这是一张狗的图片
img=imread(filepath,mode='RGB')
img=imresize(img,(224,224))
img=img.astype(np.float32)
for c in range(3):
    img[:,:,c]-=means[c]
prob=sess.run(fc8_finetuining,feed_dict={x:[img]})
max_index=np.argmax(prob)
if max_index==0:
    print('这是猫的可能性为:%.6f'%prob[:,0])
else:
    print('这是狗的可能性为:%.6f'%prob[:,1])

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我想问一下猫狗大战中出现Attempted to use a closed Session.怎么解决 的相关文章

  • cuda三维纹理内存的使用

    有时候需要使用cuda处理多帧的图像 需要把多帧时间序列的图像传入到显存中 这个时候就可以把保存图像的全局内存绑定到二维纹理内存 核函数通过纹理拾取来访问输入的图像数据 不过二维纹理内存的宽是有限制的 cudaChannelFormatDe
  • 【OpenCV】 级联分类器训练模型

    目录 一 OpenCV级联分类器概念 二 OpenCV级联分类器操作步骤 三 样本采集工作原理分析一 四 样本采集工作原理分析二 五 创建自己的级联分类器 5 1 创建自己的级联分类器第一步 5 2 创建自己的级联分类器第二步 5 3 创建
  • CTF-信息收集篇

    这里是参考了CTFSHOW中的web入门中的题目 来学习关于CTF中的信息收集上的知识点 目录 web 1 web 2 web 3 web 4 web 5 web 6 web 7 web 8 web 9 web 10 web 11 web
  • 记第一次学习搭建web渗透靶场(vulhub)

    一个非常适合小白使用的靶场 valhub官网 https vulhub org github地址 https github com vulhub vulhub 二 只需要在Linux环境下安装即可 最好是Ubuntu 官网推荐的是克隆模式
  • 巡检服务

    巡检管理服务是指服务商对客户的IT应用系统 业务系统及相关设备进行周期性 主动性的健康检查服务 旨在及时发现已有或潜在问题 提出改进建议和措施 防止故障的发生 围绕巡检服务管理的目标进行巡检服务规划 组建巡检服务团队 监理巡检服务管理制度及
  • 如何查看Jetson TX1/2 CPU和GPU性能使用状态

    如何查看Jetson TX1 2 CPU和GPU性能使用状态 官方给了一个脚本文件 我们使用超级权限运行即可 sudo tegrastats 效果如下 RAM 4634 7854MB lfb 2x512kB cpu 0 1112 off o
  • Java 集合之Collection

    首先我们看下Collection的结构图 从结构图上我们可以看到Collection集合下面有3个比较大的实现 Set List Queue在日常开放过程中我们比较常用的是Set与List 针对Queue我在之前的博客中也有所介绍 在这里不
  • 登录界面设计测试---适合背诵

    主要从功能 易用性 性能 安全 兼容 一 功能测试 1 7 case 主要体现 用户名和密码 账号问题 8 12 case 主要体现 验证 图片或短信 13 20 case 主要体现 特别场景 1 输入已注册的用户名和正确的密码 验证是否成
  • Window的Java环境安装

    一 Window的Java环境安装 1 下载百度网盘的Java环境jdk 8u131 windows x64 exe 2 点击jdk 8u131 windows x64 exe 下一步 3 更改Java你想安装位置 点击下一步 4 Java
  • MATLAB反三角函数arcsecx, arccscx, arctanx, arccotx, arcsinx, arccosx绘图表示

    matlab源代码 依次为 arcsecx arccscx arctanx arccotx arcsinx arccosx figure 1 x 0 0 01 pi y sec x plot y x title arcsecx set gc
  • (一)调试RocketMq源码

    文章目录 一 启动NameServer 1 1namesrv模块找到NamesrvStartup java 1 2修改配置文件目录 1 3启动NamesrvStartup java 二 配置Broker 2 1配置BrokerStartup
  • Ubuntu Linux中hostname`命令

    当然 让我们将关于在Ubuntu Linux中理解hostname的知识转化为列表形式 参考 https www howtouseubuntu com network change hostname in ubuntu linux 定义 h
  • 第四章 Linux实用操作

    1 软件安装 1 1 CentOS 1 2 Ubuntu 2 systemctl控制软件启动关闭 mp4 3 软链接 4 日期和时区 4 1 date命令 4 2 ntp程序 4 3 小结 5 IP地址和主机名 6 配置Linux固定IP地
  • 【干货】PCB线宽与电流关系

    以下总结了八种电流与线宽的关系公式 表和计算公式 虽然各不相同 大体相近 但大家可以在实际的PCB板设计中 综合考虑PCB板的大小 通过电流 选择一个合适的线宽 PCB电流与线宽 PCB载流能力的计算一直缺乏权威的技术方法 公式 经验丰富C
  • MoCo v1 论文笔记

    Momentum Contrast for Unsupervised Visual Representation Learning 论文笔记 DETR 论文笔记 Momentum Contrast for Unsupervised Visu
  • 三因素方差分析_【科研加油站】SPSS操作之三因素方差分析

    点击上方蓝字 轻松关注我们 以下内容转载自 医咖会 微信公众号 medieco ykh 作者Jane 上一期我们讨论了双因素方差分析 本期 科研加油站 栏目 我们一起来探讨三因素方差分析 问题与数据 某研究者想研究某类新药降低胆固醇水平的效
  • CData API Server全面且文档完整的API

    CData API Server全面且文档完整的API 使用现有业务信息创建API 连接到任何SQL以及NoSQL数据库以及API服务器 都会立即生成灵活 全面且文档完整的API 发现数据集成的潜力 API服务器API服务器提供了在企业AP
  • register的用法c语言,C语言中auto,static,register,extern存储类型的用法

    在C语言中提供的存储类型说明符有auto extern static register 说明的四种存储类别 四种存储类别说明符有两种存储期 自动存储期和静态存储期 其中auto和register对应自动存储期 具有自动存储期的变量在进入声明
  • Unity脚本API—Transform 变换

    场景中的每一个对象都有一个Transform 用于储存并操控物体的位置 旋转和缩放 每一个Transform可以有一个父级 允许你分层次应用位置 旋转和缩放 可以在Hierarchy面板查看层次关系 他们也支持计数器 enumerator
  • AGV调度系统/两阶段算法模拟源代码 地图建模

    多 AGV调度系统 两阶段算法模拟源代码 地图建模c openTCS1 AGV调度系统源码 OpenTCS OpenTCS是一个开源的AGV调度系统程序 能给初入AGV行业的人士一些帮助 该实例是包含源码的程序 可成功运行 2 openTC

随机推荐