tensorflow越跑越慢_tensorflow如何解决越运行越慢的问题

这几天写tensorflow的时候发现随着迭代的次数越来越多,tensorflow跑的速度越来越慢。查找才发现是tensorflow不断的给之前的图里加节点,导致占用的内存越来越大,然后我尝试了网上的各种方法,终于发现了一个靠谱的方法,先放上代码

tf.reset_default_graph()

graph = tf.Graph()

with graph.as_default() as g:

x_data = tf.placeholder(shape=[None, 36], dtype=tf.float32, name="input")

y_output = tf.placeholder(shape=None, dtype=tf.float32, name="output")

# 第一层

layer_1 = tf.layers.dense(inputs=x_data, units=36, activation=tf.nn.relu, use_bias=True)

# 第二层

layer_2 = tf.layers.dense(inputs=layer_1, units=10, activation=None, use_bias=True)

# 输出层

weight = tf.Variable(tf.random_normal(shape=[10, 1], stddev=1.0))

bia = tf.Variable(tf.random_normal(shape=[1], stddev=1.0))

finish_output = tf.matmul(layer_2, weight) + bia

tf.add_to_collection("out", finish_output)

loss = tf.reduce_mean(tf.square(y_output - finish_output))

opt = tf.train.AdamOptimizer(0.01)

train_opt = opt.minimize(loss)

tf.add_to_collection("train_opt", train_opt)

saver = tf.train.Saver()

with tf.Session(graph=g) as sess:

init = tf.global_variables_initializer()

sess.run(init)

for i in range(len(x_data_array)):

# 使用数据训练

if i > 60:

break

p = x_data_array[i]

p = np.array(p)

p = p.reshape([1, 36])

sess.run(train_opt, feed_dict={

x_data: p, y_output: y_data

})

saver.save(sess, "./versionPool/" + str(index) + "/model_" + str(index) + ".ckpt")

可以看出来我这段代码是加载了保存过的模型

其中

tf.reset_default_graph()

graph = tf.Graph()

with graph.as_default() as g:

这个起到了关键作用,每次再训练的时候重置一下图,用新的图训练。这里踩了一个坑,我以为用了新图可以直接使用

tf.train.import_meta_graph()

然后通过变量名导入再跑就行了,然后我怎么用调都没法解决,最后我直接再定义一遍需要用的变量和操作然后就可以跑起来了

因为我在我的项目中还需要时刻通过这个模型来预测,然后发现报错了,尝试了许久,我就在我生成模型的那部分代码也改成类似的

tf.reset_default_graph()

graph = tf.Graph()

with graph.as_default() as g:

x_data = tf.placeholder(shape=[None, 36], dtype=tf.float32, name="input")

y_output = tf.placeholder(shape=None, dtype=tf.float32, name="output")

# 第一层

layer_1 = tf.layers.dense(inputs=x_data, units=36, activation=tf.nn.relu, use_bias=True)

# 第二层

layer_2 = tf.layers.dense(inputs=layer_1, units=10, activation=None, use_bias=True)

# 输出层

weight = tf.Variable(tf.random_normal(shape=[10, 1], stddev=1.0))

bia = tf.Variable(tf.random_normal(shape=[1], stddev=1.0))

finish_output = tf.matmul(layer_2, weight) + bia

tf.add_to_collection("out", finish_output)

loss = tf.reduce_mean(tf.square(y_output - finish_output))

opt = tf.train.AdamOptimizer(0.01)

train_opt = opt.minimize(loss)

tf.add_to_collection("train_opt", train_opt)

saver = tf.train.Saver()

with tf.Session() as sess:

init = tf.global_variables_initializer()

sess.run(init)

sess.run(train_opt, feed_dict={

x_data: init_random_list(), y_output: np.random.randint(0, 1000)

})

saver.save(sess, "./versionPool/" + str(index) + "/model_" + str(index) + ".ckpt")

可以看出来这是第一次生成模型的代码,我第一次就直接用了

tf.reset_default_graph()

graph = tf.Graph()

然后我在使用模型做预测的过程中就不会报错了

欢迎来我的博客 Qi的博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

propertysource注解_Java开发必须掌握的 20+ 种 Spring 常用注解

作者:IT_faquir链接:https://blog.csdn.net/IT_faquir注解本身没有功能的,就和xml一样。注解和xml都是一种元数据,元数据即解释数据的数据,这就是所谓配置。本文主要罗列Spring|SpringMVC相关注解的简介。Spring部分1.…

linux协议栈劫持,Linux系统优化之TCP协议栈优化-基本篇1

因为在做爬虫分布式系统的过程中,涉及到了一些linux系统优化方面的知识,所以来总结一下,我们会对linux的不同模块做相关的基本优化,这篇文章主要讲述的是关于tcp协议栈的参数优化。1.机器环境Linux EOS01 2.6.32-358.el6.x86_64 #…

datapumpdir oracle_oracle_datapump创建外部表案例

一、datapump创建外部表,数据来源于内部实体表 --首先创建 scott.countries实体表,用于做实验 SQLgt; create table scott.cou一、datapump创建外部表,数据来源于内部实体表--首先创建 scott.countries实体表,用于做实验SQL> c…

linux 百度地图离线sdk,Android开放百度地图集成

1、创建应用 获取AK (我理解为Application key)通过百度账号登录百度地图开放平台,进入API控制台 http://lbsyun.baidu.com/apiconsole/key 创建自己的应用,输入应用名称 ,选择Android SDK 应用类型,选择需要的服务(默认全选) 输入…

activiti7流程设计器_基于容器和微服务应用的架构:容器设计原则

微服务提供了巨大的好处,但也带来了巨大的新挑战。在创建基于微服务的应用程序时,微服务体系结构模式是最基本的支柱。在本指南的前面,您学习了关于容器和Docker的基本概念。这是开始使用容器所需的最低信息。尽管,即使容器是微服…

opencv 图像 抠图 算法_图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting

一、序言陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的。除了利用和Photoshop中的魔棒一样的技术或者Photoshop中的选区菜单中的色彩范围…

女生做产品经理好吗_女生天生就是产品经理,不服来战!

关注🔝蓝字,获取求职干货信息大家好,姗姗来迟~这个梗会不会被扣工资前两天,小米的资深产品经理Alina老师征集用户需求:关于产品经理的直播课,大家想听什么呀?姗姗一直很好奇:一个对逻…

c语言文件读写r 的作用,C语言 读写二进制文件

查找了比较多的资源, 发现没有办法把text 文件转成binary文件仅作为记录,不过这个例子可以去除换行符。#include #include #define N 255int main(){char a[N];FILE *fp1,*fp2;fp1fopen("test_seq.fa","r");fp2fopen("testSeq.…

verlay虚拟化技术_FPGA虚拟化:突破次元壁的技术

原标题:FPGA虚拟化:突破次元壁的技术来源:内容来自「老石谈芯」,作者 老石,谢谢。1利用FPGA虚拟化突破时空限制在传统的FPGA开发模型中,使用者通常使用硬件描述语言(HDL)对应用场景进行建模,然后…

tcp报文格式_34.TCP取样器

阅读文本大概需要3分钟。1、TCP取样器的作用TCP取样器作用就是通过TCP/IP协议来连接服务器,然后发送数据和接收数据。2、TCP取样器详解TCPClient classname:TCP报文格式类名,默认前缀org.apache.jmeter.protocol.tcp.sampler.① TCPClientImp…

c语言程序设计字符处理周信东,“电子科技大学出版社(周信东主编)”的C语言程序设计实验-整理代码-.doc...

“电子科技大学出版社(周信东主编)”的C语言程序设计实验-整理代码-.doc-前言-/*非常感谢度?娘以及各位?网上C语言?高手的支持?,才能让敝人?完成此文档?的整理。本文档集合?了本人、度娘、众网友的力?量,其中代码的?正确率约为?90%(不正确的有…

pythonwx功能_python中wx模块的具体使用方法

wx包中的方法都是以大写字母开头的,而这和Python的习惯是相反的。 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口。这里介绍wxPython : 根据自己的操作系统下载相应版本。 安装&am…

c语言函数的使用步骤,c语言打开文件函数使用方法

ANSI C规定文件打开用函数fopen,关闭为fclose。1、调用方式通常为:FILE *fp;fpfopen(文件名, 打开方式);2、参数说明:文件名: 形如"myfile.dat"、"F:\data\myfile.dat"等等;打开方式:"r"(只读) 为输入打开一个文本文件"w"(…

fpga如何约束走线_FPGA时序约束实战篇之多周期路径约束

多周期路径约束多周期路径,我们一般按照以下4个步骤来约束:1. 带有使能的数据首先来看带有使能的数据,在本工程中的Tming Report中,也提示了同一个时钟域之间的几个路径建立时间不满足要求其实这几个路径都是带有使能的路径&#…

uml 类图_UML-类图

概念Class diagram is UML structure diagram which shows structure of the designed system at the level of classes and interfaces, shows their features, constraints and relationships - associations, generalizations, dependencies, etc.类图是用于描述类、接口这一…

牙齿间隙变大怎么办_牙齿之间的间隙越来越大怎么办?

无论我们是否发现牙齿与牙齿之间有很大的裂缝问题,这不仅影响到面部的美观,而且对正常的饮食、咀嚼疲劳也有一定的影响。随着我国生活条件的改善,人们对生活质量的要求也越来越高,同时也开始关注自己的口腔状况,牙齿问…

python读取文件中的内容_python 读取文件夹中的文件内容

看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来, 没有把找到的文件单独拿出…

C语言编程日志,用C语言打印日志(Log)

用C语言打印日志(Log)直接上源代码。log.h 文件:/** log.h **/#ifndef __LOG_H__#define __LOG_H__#include "stdio.h"#include "string.h"#include "stdlib.h"#include "time.h"#include "stdarg.h"#include &q…

binlog数据库不写入binlog_京东智联云MySQL数据库如何保障数据的可靠性?

MySQL作为当前最流行的关系型数据库,在各个行业的系统中扮演着最重要的角色。随着大家对数据价值认可的逐步加深,数据的可靠性是最常被问到的一个问题。MySQL是如何保证数据可靠性的?京东智联云RDS-MySQL又做了哪些优化和新特性来保证用户数据…

在职高学C语言程序设计,中职学校C语言程序设计教学方法.doc

中职学校C语言程序设计教学方法中职学校C语言程序设计的教学方法摘 要:计算机专业中,C语言是一门基础的程序设计课,但学习《C语言程序设计》相对职高学生来说难度较大,但它却是很实用的一门课程,同时又是我省计算机对口…