安装 TensorSpace Converter官方一共给出了两种方法:
- 第一种:通过 pip 下载 tensorspacejs 包
- 第二种:通过Docker
听说Docker使用起来很方便,但是我太菜了,根本搞不懂为什么建立的Container
不能run
,一点击run马上变成exit(127)
或者exit(0)
的状态,捣鼓半天还是选择使用第一种方式
之前的博客写道执行初始化的时候出现了错误,一直提示找不到tensorspacejs_converter
,在WORK_DIR
目录下使用Git Bash
也总提示找不到(这个操作的本质其实还是用的Docker
执行bash脚本,我用Docker
整不出来,当然这个也行不通啦),但是我在Anaconda Prompt(Anaconda 3)
里面建立的虚拟环境tsc
能执行到init这一步,我就想能不能在Anaconda
里面执行bash脚本呢? - 查阅资料我发现这个想法行得通:
// 在 Anaconda 环境中用 bash 运行shell脚本
conda install m2-base
- 执行完了后进入tensorspace_converter文件夹的example文件夹:
(tsc) C:\Users\Tianle Hu>g:
(tsc) G:\>cd G:\tensorspace-converter-master\docker
(tsc) G:\tensorspace-converter-master\docker>cd example
(tsc) G:\tensorspace-converter-master\docker\example>ls
converter.sh input output
- 可以发现example文件里一共有三个文件
- input文件夹存放的是自己训练好的模型文件(我的keras模型)
- output文件夹存放的是经过tensorspace_converter转换后的模型文件
- converter.sh则是重头戏,即模型转换的脚本文件
// converter.sh
#!/usr/bin/env bash
tensorspacejs_converter \
--input_model_from="keras" \
--input_model_format="topology_weights_combined" \
--output_layer_names='reshape_1,Conv2D_1,MaxPooling2D_1,Conv2D_2,MaxPooling2D_2,flatten_1,Dense_1,Dense_2,Softmax' \
./input/keras_model.h5 \
./output
- 前面安装完m2-base后就可以在
Anaconda Prompt(Anaconda 3)
里面执行bash脚本了:
// 在 Anaconda Prompt 里面执行bash脚本
(tsc) G:\tensorspace-converter-master\docker\example>bash converter.sh
Using TensorFlow backend.
2021-03-22 23:42:23.441485: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
Saving enc_model...
Saving converted tfjs model...
Removing enc_model file...
Mission Complete!!!
执行完这条指令后,我在刚刚example这个文件夹里的output子文件夹中得到如下两个文件,也就是TensorSpace项目的核心文件!
⭐⭐⭐大功告成!困扰了我很久的问题终于完全解决了,这两天抽空就把整个TensorSpace神经网络可视化项目做一个系统整理发到博客上!