Tensorflow遇到了JavaScript——Tensorflowjs
1.Tensorflowjs介绍
TensorFlow.js 是一个基于tensorflow用于使用 JavaScript 进行机器学习开发的库。使用 JavaScript 开发机器学习模型,并直接在浏览器或 Node.js 中使用机器学习模型。
Tensorflowjs官网:https://www.tensorflow.org/js
2.Tensorflowjs的安装
尝试在原来安装好Tensorflow的环境基础上安装可能会出现版本冲突错误,需要重新下载tensorflow,害怕原来tensorflow环境出现错误(环境里出现错误太麻烦),所以我是在anaconda里新建了一个环境
conda create -n tfjs(可以设置自己喜欢的名字) python=3.6(选择合适的python版本)
#需要下载一些包,询问y/n?选择y
#安装好后
conda activate tfjs(虚拟环境的名字)
pip install tensorflowjs -i https://pypi.tuna.tsinghua.edu.cn/simple#使用清华源安装很快
这样tensorflowjs就安装好了,下面来说如何使用tensorflowjs.
3.Tensorflowjs转换模型
cd WeChatProjects\programtfjs
#进入模型所在的文件夹
tensorflowjs_converter --input_format keras mnist.h5(#这里放自己的模型名字) .
#生成的.bin和.json文件就是转换好的模型
在本地启动一个server,如果有需要可以存放在服务器上。
python -m http.server 8888(端口号)
在python2的版本中需要使用:
python -m SimpleHTTPServer 8888(端口号)
手写数字识别示例
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
model.save('mnist.h5')#保存h5模型
然后可以将模型转换成的json文件部署在应用上。
-
Author
- AIStudying 公众号: AI成长派