在这篇文章中,我们将为您详细介绍TensorFlow:如何从SavedModel进行预测?的内容,并且讨论关于tensorflow预测数据的相关问题。此外,我们还会涉及一些关于135、TensorFl
在这篇文章中,我们将为您详细介绍TensorFlow:如何从SavedModel进行预测?的内容,并且讨论关于tensorflow预测数据的相关问题。此外,我们还会涉及一些关于135、TensorFlow SavedModel 工具类的使用、anaconda 安装 tensorflow 报错 No module named ''tensorflow'' 解决方法 (windows)、Anaconda3 tensorflow 安装 及 ModuleNotFoundError: No module named ''tensorflow'' 解答、c – 使用TensorFlow训练模型和C API进行预测的知识,以帮助您更全面地了解这个主题。
本文目录一览:- TensorFlow:如何从SavedModel进行预测?(tensorflow预测数据)
- 135、TensorFlow SavedModel 工具类的使用
- anaconda 安装 tensorflow 报错 No module named ''tensorflow'' 解决方法 (windows)
- Anaconda3 tensorflow 安装 及 ModuleNotFoundError: No module named ''tensorflow'' 解答
- c – 使用TensorFlow训练模型和C API进行预测
TensorFlow:如何从SavedModel进行预测?(tensorflow预测数据)
我已经导出了SavedModel
,现在我可以将其加载回并进行预测。经过培训,具有以下功能和标签:
F1 : FLOAT32
F2 : FLOAT32
F3 : FLOAT32
L1 : FLOAT32
所以说我要输入的值得20.9,1.8,0.9
到一个FLOAT32
预测。我该怎么做?我已经成功地加载了模型,但是我不确定如何访问它以进行预测调用。
with tf.Session(graph=tf.Graph()) as sess:
tf.saved_model.loader.load(
sess,[tf.saved_model.tag_constants.SERVING],"/job/export/Servo/1503723455"
)
# How can I predict from here?
# I want to do something like prediction = model.predict([20.9,0.9])
该问题不是此处发布的问题的重复。这个问题集中于在SavedModel
任何模型类(不仅仅限于tf.estimator
)上进行推理的最小示例,以及指定输入和输出节点名称的语法。
135、TensorFlow SavedModel 工具类的使用
# SavedModelBuilder 类提供了保存多个MetaGraphDef的功能
# MetaGraph是一个数据流图,加上它的关联变量,资产和标签
# 一个MetaGraphDef是一个协议缓冲表示区
# 一个signature是计算图的输入和输出表示
# 如果assets需要被保存或者写入到磁盘上,当第一个MetaGraphDef被加载的时候
# asset就可以被提供
# 如果多个MetaGraphDef有相同的名字,只有第一个名字能够被持久化
# 每一个MetaGraphDef必须被打上用户标签
# 并且根据用户标签来加载和保存MetaGraphDef
# 随着变量的共享,这些标签标注了MetaGraphDef的功能,和在哪一个硬件上面运行的
import tensorflow as tf
export_dir = "tmp2/MetaGraphDir"
builder = tf.saved_model.builder.SavedModelBuilder(export_dir)
with tf.Session(graph=tf.Graph()) as sess:
builder.add_meta_graph_and_variables(sess,
["TRAINING"],
signature_def_map=foo_signatures,
assets_collection=foo_assets
)
# Add a sencod MetaGraphDef for inference
with tf.Session(graph=tf.Graph()) as sess:
builder.add_meta_graph(["SERVING"])
builder.save()
anaconda 安装 tensorflow 报错 No module named ''tensorflow'' 解决方法 (windows)
conda create --name python36 python=3.6
activate python36
python --version #查看 发现已经是3.6版本
现在在命令行里试一下:
python
import tensorflow
发现可以用了,但是在 jupyter notebook 里还是不行。
jupyter kernelspec list
给出的地址指向一个包含 kernel.json 的文件夹,打开这个 json 文件,发现里面指向的 python.exe 仍然是 python3.7,错误的原因找到了。
在命令行:
conda install jupyter notebook #重新安装Jupyter
完美解决。(用 deactivate 可以退出 Python36 环境)
Anaconda3 tensorflow 安装 及 ModuleNotFoundError: No module named ''tensorflow'' 解答
Anaconda3 的安装,参考:手把手教你如何安装 Tensorflow(Windows 和 Linux 两种版本)
tensorflow 的安装,参考:深度学习(TensorFlow)环境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3
我选的是 CPU 下的安装,参考以上链接安装,如果出现:
①下载的 TensorFlow 对应的 Python 版本一定要和 conda create -n tensorflow python=x.x 的版本一样才行
②在 anaconda3 的包下搜索 "tensorflow",如果搜到,说明是路径没找到 tensorflow.
我的 tensorflow 路径:
需要将该路径临时加入到 sys.path 中:
进入 python 中:
import sys
sys.path #查看 sys.path
sys.path.append("")
import tensorflow # 没有报错
需要将该路径永久加入到 sys.path 中:
在下添加一个路径文件如:mypypath.pth , 必须以.pth 为后缀。
vi mypypath.pth
然后写入:,并保存关闭。
再次进入 python 中:
import tensorflow # 没有报错
参考:
c – 使用TensorFlow训练模型和C API进行预测
#!/usr/bin/env python import tensorflow as tf import numpy as np with tf.Session() as sess: saver = tf.train.import_Meta_graph('./Metagraph.Meta') saver.restore(sess,'./checkpoint.ckpt') x = tf.get_collection("x")[0] yhat = tf.get_collection("yhat")[0] print sess.run(yhat,Feed_dict={x : np.array([[2,3],[4,5]])})
提前致谢!
p.s.:为了完整起见,我做了以下内容来构建文件:
#!/usr/bin/env python import tensorflow as tf import numpy as np x = tf.placeholder(tf.float32,shape=[None,2],name='x') tf.add_to_collection("x",x) y = tf.placeholder(tf.float32,1],name='y') w = tf.Variable(np.array([[10.0],[100.0]]),dtype=tf.float32,name='w') b = tf.Variable(0.0,name='b') yhat = tf.add(tf.matmul(x,w),b) tf.add_to_collection("yhat",yhat) mse_loss = tf.sqrt(tf.reduce_mean(tf.square(tf.sub(y,yhat)))) step_size = tf.constant(0.01) optimizer = tf.train.GradientDescentOptimizer(step_size) init_op = tf.initialize_all_variables() train_op = optimizer.minimize(mse_loss) saver = tf.train.Saver() with tf.Session() as sess: sess.run(init_op) for i in xrange(10000): train_x = np.random.random([100,2]) * 10 train_y = np.dot(train_x,np.array([[100.0],[10.0]])) + 1.0 sess.run(train_op,Feed_dict={x : train_x,y : train_y}) print sess.run(w) print sess.run(b) saver.save(sess,'./checkpoint.ckpt') saver.export_Meta_graph('./Metagraph.Meta') tf.train.write_graph(sess.graph_def,'./','graph')
解决方法
#include <iostream> #include "c_api.h" using namespace std; int main() { cout << TF_Version(); return 0; }
然后,这允许我编译和使用Tensorflow函数,包括您想要的函数.
关于TensorFlow:如何从SavedModel进行预测?和tensorflow预测数据的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于135、TensorFlow SavedModel 工具类的使用、anaconda 安装 tensorflow 报错 No module named ''tensorflow'' 解决方法 (windows)、Anaconda3 tensorflow 安装 及 ModuleNotFoundError: No module named ''tensorflow'' 解答、c – 使用TensorFlow训练模型和C API进行预测的相关知识,请在本站寻找。
本文标签: