1. import tensorflow as tf
  2. from tensorflow.examples.tutorials.mnist import input_data
  3.  
  4. #载入数据集
  5. mnist = input_data.read_data_sets("MNIST_data",one_hot=True)
  6.  
  7. #每个批次100张照片
  8. batch_size = 100
  9. #计算一共有多少个批次
  10. n_batch = mnist.train.num_examples // batch_size
  11.  
  12. #定义两个placeholder
  13. x = tf.placeholder(tf.float32,[None,784])
  14. y = tf.placeholder(tf.float32,[None,10])
  15.  
  16. #创建一个简单的神经网络,输入层784个神经元,输出层10个神经元
  17. W = tf.Variable(tf.zeros([784,10]))
  18. b = tf.Variable(tf.zeros([10]))
  19. prediction = tf.nn.softmax(tf.matmul(x,W)+b)
  20.  
  21. #二次代价函数
  22. # loss = tf.reduce_mean(tf.square(y-prediction))
  23. loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=prediction))
  24. #使用梯度下降法
  25. train_step = tf.train.GradientDescentOptimizer(0.2).minimize(loss)
  26.  
  27. #初始化变量
  28. init = tf.global_variables_initializer()
  29.  
  30. #结果存放在一个布尔型列表中
  31. correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(prediction,1))#argmax返回一维张量中最大的值所在的位置
  32. #求准确率
  33. accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
  34.  
  35. saver = tf.train.Saver()
  36.  
  37. with tf.Session() as sess:
  38. sess.run(init)
  39. for epoch in range(11):
  40. for batch in range(n_batch):
  41. batch_xs,batch_ys = mnist.train.next_batch(batch_size)
  42. sess.run(train_step,feed_dict={x:batch_xs,y:batch_ys})
  43.  
  44. acc = sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels})
  45. print("Iter " + str(epoch) + ",Testing Accuracy " + str(acc))
  46. #保存模型
  47. saver.save(sess,'net/my_net.ckpt')

以上是保存模型;

  1. #载入数据集
  2. mnist = input_data.read_data_sets("MNIST_data",one_hot=True)
  3.  
  4. #每个批次100张照片
  5. batch_size = 100
  6. #计算一共有多少个批次
  7. n_batch = mnist.train.num_examples // batch_size
  8.  
  9. #定义两个placeholder
  10. x = tf.placeholder(tf.float32,[None,784])
  11. y = tf.placeholder(tf.float32,[None,10])
  12.  
  13. #创建一个简单的神经网络,输入层784个神经元,输出层10个神经元
  14. W = tf.Variable(tf.zeros([784,10]))
  15. b = tf.Variable(tf.zeros([10]))
  16. prediction = tf.nn.softmax(tf.matmul(x,W)+b)
  17.  
  18. #二次代价函数
  19. # loss = tf.reduce_mean(tf.square(y-prediction))
  20. loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=prediction))
  21. #使用梯度下降法
  22. train_step = tf.train.GradientDescentOptimizer(0.2).minimize(loss)
  23.  
  24. #初始化变量
  25. init = tf.global_variables_initializer()
  26.  
  27. #结果存放在一个布尔型列表中
  28. correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(prediction,1))#argmax返回一维张量中最大的值所在的位置
  29. #求准确率
  30. accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
  31.  
  32. saver = tf.train.Saver()
  33.  
  34. with tf.Session() as sess:
  35. sess.run(init)
  36. print(sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels}))
  37. saver.restore(sess,'net/my_net.ckpt')
  38. print(sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels}))
  39.  
  40. #
  1. 0.098
  2. INFO:tensorflow:Restoring parameters from net/my_net.ckpt
  3. 0.9179

以下是载入模型,第一个print是看看随机生成的参数用于预测分类的结果;第二个print是看看载入的模型来预测分类的结果。

Tensorflow模型保存与载入的更多相关文章

  1. TensorFlow 模型保存/载入

    我们在上线使用一个算法模型的时候,首先必须将已经训练好的模型保存下来.tensorflow保存模型的方式与sklearn不太一样,sklearn很直接,一个sklearn.externals.jobl ...

  2. TensorFlow模型保存和加载方法

    TensorFlow模型保存和加载方法 模型保存 import tensorflow as tf w1 = tf.Variable(tf.constant(2.0, shape=[1]), name= ...

  3. TensorFlow模型保存和提取方法

    一.TensorFlow模型保存和提取方法 1. TensorFlow通过tf.train.Saver类实现神经网络模型的保存和提取.tf.train.Saver对象saver的save方法将Tens ...

  4. tensorflow 模型保存与加载 和TensorFlow serving + grpc + docker项目部署

    TensorFlow 模型保存与加载 TensorFlow中总共有两种保存和加载模型的方法.第一种是利用 tf.train.Saver() 来保存,第二种就是利用 SavedModel 来保存模型,接 ...

  5. Tensorflow模型保存与加载

    在使用Tensorflow时,我们经常要将以训练好的模型保存到本地或者使用别人已训练好的模型,因此,作此笔记记录下来. TensorFlow通过tf.train.Saver类实现神经网络模型的保存和提 ...

  6. 10 Tensorflow模型保存与读取

    我们的模型训练出来想给别人用,或者是我今天训练不完,明天想接着训练,怎么办?这就需要模型的保存与读取.看代码: import tensorflow as tf import numpy as np i ...

  7. 一份快速完整的Tensorflow模型保存和恢复教程(译)(转载)

    该文章转自https://blog.csdn.net/sinat_34474705/article/details/78995196 我在进行图像识别使用ckpt文件预测的时候,这个文章给我提供了极大 ...

  8. 转 tensorflow模型保存 与 加载

    使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练.这时候我们需要掌握如何操作这些模型数据.看完本文,相信你一定会有收获 ...

  9. 【NLP学习其五】模型保存与载入的注意事项(记问题No module named 'model')

    这是一次由于路径问题(找不到模型)引出模型保存问题的记录 最近,我试着把使用GPU训练完成的模型部署至预发布环境时出现了一个错误,以下是log节选 unpickler.load() ModuleNot ...

随机推荐

  1. tensorflow 屏蔽 Log

    pip install alfred-py 在代码中加入 from alfred.dl.tf.common import mute_tf mute_tf()

  2. FCC 成都社区·前端周刊 第 6 期

    01. JS 引擎 V8 v6.6 的更新 最新 v6.6 版本的 V8 JavaScript 引擎更新了方法 Function.prototype.toString(),改进了代码缓存机制.异步性能 ...

  3. Kendo UI for jQuery使用教程:入门指南

    [Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...

  4. python实例31[列出目录下所有的文件到txt]

    代码: (使用os.listdir) import os def ListFilesToTxt(dir,file,wildcard,recursion):     exts = wildcard.sp ...

  5. numpy模块、matplotlib模块、pandas模块

    目录 1. numpy模块 2. matplotlib模块 3. pandas模块 1. numpy模块 numpy模块的作用 用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学计算 实 ...

  6. 如何提升scrapy爬取数据的效率

    在配置文件中修改相关参数: 增加并发 默认的scrapy开启的并发线程为32个,可以适当的进行增加,再配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100. ...

  7. 【LuoguP5280】[ZJOI2019] 线段树

    题目链接 题目描述 略 Sol 显然不能直接暴力模拟. 观察这个东西本质在干什么,就是某一次操作可能进行可能不进行,然后求所有情况下被标记节点总数. 这个显然可以转化为概率问题,每次有二分之一的概率进 ...

  8. python接口自动化四(json数据处理)

    前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的 ...

  9. 【shell】截取字符串前面文字

    例如:有一个文件test.txt,里面有这些数据. meiguounix232 faguounix ribenunix zhongguounixtaobao hanguounixbaba 现在我想截取 ...

  10. Python如何快速初始化一个二维数组

    正确的方法 cols= 3 rows = 2 memo = [[1] * m for i in range(n) ] 下面这种做法是错误的 memo = [[1] * m ] * n 这会导致 mem ...