网站页面布局设计,网站建设运营协议,网站建设和网络推广是干嘛,网站内部链接怎么做这几天写tensorflow的时候发现随着迭代的次数越来越多#xff0c;tensorflow跑的速度越来越慢。查找才发现是tensorflow不断的给之前的图里加节点#xff0c;导致占用的内存越来越大#xff0c;然后我尝试了网上的各种方法#xff0c;终于发现了一个靠谱的方法#xff0c;…这几天写tensorflow的时候发现随着迭代的次数越来越多tensorflow跑的速度越来越慢。查找才发现是tensorflow不断的给之前的图里加节点导致占用的内存越来越大然后我尝试了网上的各种方法终于发现了一个靠谱的方法先放上代码tf.reset_default_graph()graph tf.Graph()with graph.as_default() as g:x_data tf.placeholder(shape[None, 36], dtypetf.float32, nameinput)y_output tf.placeholder(shapeNone, dtypetf.float32, nameoutput)# 第一层layer_1 tf.layers.dense(inputsx_data, units36, activationtf.nn.relu, use_biasTrue)# 第二层layer_2 tf.layers.dense(inputslayer_1, units10, activationNone, use_biasTrue)# 输出层weight tf.Variable(tf.random_normal(shape[10, 1], stddev1.0))bia tf.Variable(tf.random_normal(shape[1], stddev1.0))finish_output tf.matmul(layer_2, weight) biatf.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(graphg) as sess:init tf.global_variables_initializer()sess.run(init)for i in range(len(x_data_array)):# 使用数据训练if i 60:breakp 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], dtypetf.float32, nameinput)y_output tf.placeholder(shapeNone, dtypetf.float32, nameoutput)# 第一层layer_1 tf.layers.dense(inputsx_data, units36, activationtf.nn.relu, use_biasTrue)# 第二层layer_2 tf.layers.dense(inputslayer_1, units10, activationNone, use_biasTrue)# 输出层weight tf.Variable(tf.random_normal(shape[10, 1], stddev1.0))bia tf.Variable(tf.random_normal(shape[1], stddev1.0))finish_output tf.matmul(layer_2, weight) biatf.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的博客