## Variable()和get_variable()的区别以及name_scope和variable_scope的区别
```
jupyter notebook
# 打开variable_vs_get_variable.ipynb
```
## 线性回归的例子
```
jupyter notebook
# 打开basic.ipynb
```
## dataset
```
jupyter notebook
# 打开dataset.ipynb
```
**注意:第8个cell会死循环,需要我们手动通过"kenerl->interrupt"停止。**
## Batch Normalization
```
jupyter notebook
# 打开batch-norm.ipynb
```
## 时间序列预测
```
jupyter notebook
# 打开time-series.ipynb
```
## 使用LSTM来识别MNIST图片
```
python lstm-mnist.py
```
## TensorBoard示例(使用MNIST)
首先训练:
```
python cnn_mnist.py
```
然后运行TensorBoard(不用等训练结束):
```
deep_learning_theory_and_practice/src/ch6$ tensorboard --logdir mnist_convnet_model/
# 然后用浏览器打开命令行里出现的链接,可能类似于http://lili-Precision-7720:6006
```
## 使用内置的Estimator实现Iris数据分类
```
python premade_estimator.py
```
## tf.train.Saver
### 保存变量
```
cd serving
python save_variables.py
```
我们指定保存的路径是"tf_save_variables/model.ckpt",最终会生成一个目录tf_save_variables,它包含如下内容:
```
$ tree tf_save_variables/
tf_save_variables/
├── checkpoint
├── model.ckpt.data-00000-of-00001
├── model.ckpt.index
└── model.ckpt.meta
```
### 使用 inspect_checkpoint 查看保存的变量
```
python view_ckpt.py
```
### 恢复 Graph 的定义和变量
```
python restore_graph.py
```
## Tensorflow Serving
### 线性回归的SavedModel
```
python linear_regression_save_model.py
```
SavedModel API把模型保存到lr_model目录:
```
$ tree lr_model
lr_model
└── 1
├── saved_model.pb
└── variables
├── variables.data-00000-of-00001
└── variables.index
```
### 使用saved_model_cli查看保存的模型
```
$ saved_model_cli show --dir lr_model/1
The given SavedModel contains the following tag-sets:
serve
```
接着看serve这个tag_set:
```
$ saved_model_cli show --dir lr_model/1 --tag_set serve
The given SavedModel MetaGraphDef contains SignatureDefs with the following keys:
SignatureDef key: "predict"
```
接着查看一个signature:
```
$ saved_model_cli show --dir lr_model/1 --tag_set serve --signature_def predict
The given SavedModel SignatureDef contains the following input(s):
inputs['x'] tensor_info:
dtype: DT_FLOAT
shape: (-1, 1)
name: x:0
The given SavedModel SignatureDef contains the following output(s):
outputs['y'] tensor_info:
dtype: DT_FLOAT
shape: (-1, 1)
name: add:0
Method name is: tensorflow/serving/predict
```
### 安装ModelServer
请参考[官网文档](https://www.tensorflow.org/tfx/serving/setup),不过作者更建议使用Docker来运行ModelServer,更多内容参考[在Docker中使用Tensorflow Serving](https://fancyerii.github.io/books/tfserving-docker/)。不过下面为了和原书保持一致,还是假设直接安装了ModelServer,如果读者使用Docker,那么请参考上网启动服务。
### 启动Model Server服务
```
(py3.6-env) lili@lili-Precision-7720:~/codes/deep_learning_theory_and_practice/src/ch6/serving$ tensorflow_model_server --port=9000 --model_name=lr --model_base_path=/home/lili/codes/deep_learning_theory_and_practice/src/ch6/serving/lr_model
....
最终应该输出类似"I tensorflow_serving/model_servers/main.cc:323] Running ModelServer at 0.0.0.0:9000 ..."
的信息,则说明启动成功。
```
**注意:上面的命令一定要把\-\-model_base_path设置成lr_model的绝对路径,请读者更加自己的情况修改。**
### 使用Python Client测试
注意:我们首先需要安装Python clinet:
```
pip install tensorflow-serving-api
```
然后再运行:
```
python linear_regression_client.py
```
### Java Client
首先需要把jar包安装,读者也可以自己打包,参考[这个文章](https://medium.com/@junwan01/a-java-client-for-tensorflow-serving-grpc-api-d37b5ad747aa),这个过程相对麻烦,还需要Tensorflow源代码)。作者是用到比较老的1.5.0版本的Tensorflow和gRPC 1.4编译的,不过似乎ProtoBuffer和gRPC还是比较稳定的,在新的版本的Tensorflow Serving一般也是可以使用的。如果不行,那么只能读者自己编译了。当然如果输入数据不大,建议使用新版本Tensorflow Serving的REST接口。
```
$ cd tensor-serving-client-test
$ mvn install:install-file -Dfile=tensorflow-serving-java-client-tf-1.5.0-SNAPSHOT.jar -DgroupId=com.easemob.ai.robotapi \
-DartifactId=tensorflow-serving-java-client -Dversion=tf-1.5.0-SNAPSHOT -Dpackaging=jar
$ mvn package
```
### REST client
新版的Tensorflow Serving提供REST接口,这样客户端调用更加方便,如果输入或者输出需要传输的数据特别大,gRPC的方式可能有优势,但是REST接口简单易用便于调试。因为本书基于Tensorflow 1.6.0,因此没有介绍这部分内容,感兴趣的读者请参考[官方文档](https://www.tensorflow.org/tfx/serving/api_rest)。
### Dataset作为输入使用SavedModel API
```
python linear_regression_dataset_save_model.py
```
运行后模型会保存在lr_model_ds,如果要使用这个模型请参考前面的"启动Model Server服务",需要修改"model_name"和"model_base_path"两个参数。
### Keras训练的模型使用SavedModel API保存
```
python linear_regression_keras_save_model.py
```
## 将PyTorch模型转为TensorFlow模型
### 在PyTorch中将模型保存为onnx格式
```
python pytorch-to-onnx.py
```
最终保存的模型为lr.onnx。
### TensorFlow加载onnx文件然后用SavedModel导出
首先需要安装onnx-tensorflow:
```
pip install onnx-tf
```
然后运行:
```
python onnx-to-tf.py
```
没有合适的资源?快使用搜索试试~ 我知道了~
深度学习理论与实践--资源下载
共107个文件
py:29个
ipynb:28个
txt:22个
5星 · 超过95%的资源 需积分: 50 26 下载量 179 浏览量
2020-10-29
21:37:38
上传
评论
收藏 40.64MB ZIP 举报
温馨提示
这是深度学习基础篇---李理老师的资源,不用一字一字的去打,直接从运行和代码中学习,不可多得的好资源!
资源推荐
资源详情
资源评论
收起资源包目录
深度学习理论与实践--资源下载 (107个子文件)
.gitignore 31B
mnist.pkl.gz 16.26MB
train-images-idx3-ubyte.gz 9.45MB
t10k-images-idx3-ubyte.gz 1.57MB
train-labels-idx1-ubyte.gz 28KB
t10k-labels-idx1-ubyte.gz 4KB
data_loading_tutorial.ipynb 421KB
transfer_learning_tutorial.ipynb 312KB
seq2seq-translation-batched-cn.ipynb 162KB
time-series.ipynb 117KB
seq2seq-translation.ipynb 105KB
char-rnn-classifier.ipynb 65KB
cifar10_tutorial.ipynb 65KB
Linear Regression.ipynb 56KB
PyTorch-CNN.ipynb 38KB
char-rnn-generator.ipynb 32KB
batch-norm.ipynb 29KB
dataset.ipynb 22KB
deep_learning_tutorial.ipynb 22KB
two_layer_net_nn.ipynb 21KB
two_layer_net_autograd.ipynb 20KB
two_layer_net_custom_function.ipynb 20KB
two_layer_net_module.ipynb 20KB
two_layer_net_numpy.ipynb 20KB
dynamic_net.ipynb 20KB
two_layer_net_optim.ipynb 19KB
two_layer_net_tensor.ipynb 19KB
tf_two_layer_net.ipynb 15KB
tensor_tutorial.ipynb 13KB
neural_networks_tutorial.ipynb 12KB
autograd_tutorial.ipynb 9KB
variable_vs_get_variable.ipynb 7KB
basic.ipynb 4KB
Hello MNIST.ipynb 2KB
tensorflow-serving-java-client-tf-1.5.0-SNAPSHOT.jar 7.48MB
LrClient.java 4KB
1.jpg 552KB
README.md 6KB
README.md 3KB
README.md 2KB
README.md 1KB
README.md 1007B
README.md 575B
README.md 414B
README.md 75B
pytorch-to-tf.pb 2KB
cifar10.png 232KB
seq2seq.png 25KB
5y6SCvU.png 24KB
network.png 21KB
K1qMPxs.png 20KB
mnist.png 17KB
decoder-network.png 13KB
encoder-network.png 10KB
resnet_model.py 15KB
cifar10.py 14KB
cifar10_multi_gpu_train.py 10KB
cifar10_main.py 10KB
cifar10_input.py 10KB
network.py 6KB
cnn_mnist.py 6KB
cifar10_eval.py 5KB
rnn.py 5KB
custom_estimator.py 5KB
cifar10_train.py 4KB
mnist_loader.py 4KB
premade_estimator.py 3KB
iris_data.py 3KB
tf-mnist.py 3KB
masked_cross_entropy.py 2KB
lstm-mnist.py 2KB
tf-mnist-cnn.py 2KB
linear_regression_dataset_save_model.py 2KB
pytorch-to-onnx.py 2KB
linear_regression_keras_save_model.py 2KB
linear_regression_save_model.py 2KB
onnx-to-tf.py 1KB
linear_regression_client.py 1KB
view_ckpt.py 887B
save_variables.py 815B
layers.py 784B
restore_graph.py 319B
__init__.py 0B
eng-fra.txt 10MB
eng-chn.txt 1.29MB
tiny-shakespeare.txt 1.06MB
shakespeare.txt 1.06MB
Russian.txt 84KB
English.txt 26KB
Arabic.txt 13KB
Japanese.txt 7KB
Italian.txt 6KB
German.txt 5KB
Czech.txt 4KB
Dutch.txt 2KB
Spanish.txt 2KB
French.txt 2KB
Greek.txt 2KB
Irish.txt 2KB
Chinese.txt 1KB
共 107 条
- 1
- 2
资源评论
- cedtek2021-10-15感谢分享,自己上 github 网络实在一言难尽,在这下载省事儿
35岁北京一套房
- 粉丝: 94
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功