tfjs-node初体验:训练模型的存储

JS,一门从浏览器兴起,却不止于浏览器的脚本,个人一直认为其是最有潜力的脚本语言。不只是因为ES6优雅的语法,更重要的是其易上手,跨平台的优点。

Node将JS从browser带去了client是革命性的,使得常常被冠以“浏览器脚本”的JS成为一门足以和PHP,PY匹敌的通用性脚本。

关于tensorflow,这里就不多做介绍,简而言之就是一个深度学习的框架,而为众人所知的是他对python的支持性非常高,几乎可以说到tf,那就是python的天下,以至于说到深度学习,众人都会联想到py,Google也是首推python在深度学习领域的使用,这和python早期与Google的渊源有关。不过,笔者多次和py的交手后,对py的这种偏自然的语法及其不适应,很难接受这么“优秀的语言”(宁愿ruby,亦不python),这样的感受始于笔者最早一次使用深度学习做金融数据分析的毕业设计,python可把我害苦了。那时的我对JS爱不释手,曾企图使用JS自己构建神经网络。

终于,tfjs还是来了(在做毕设那会我就预言了要深度学习可以完全用JS开发),然而,Google最早对tfjs的态度(其实是在Google大脑工作的开源开发者)似乎还是停留在“JS要在浏览器上跑”的这种观念,所以笔者使用0.0.x版本都是基于浏览器开发的,@tensorflow/tfjs这个项目,其实在vue或者react等项目上非常的合适,但是对于client的node来说就不是那么友好,很多接口是不支持的。

下面来说说,这两个项目的区别,打开 npmjs.com,搜索tfjs

在这里插入图片描述
可以看到,tfjs和tfjs-node,下面来说说这个两个项目有什么不同,tfjs是为浏览器端而设计的,而tfjs-node是为node端设计的。

存储

个人认为,这两个项目最大的区别就是存储model的差别,早期的tfjs是基于浏览器的,故而可以将训练后的model存储在localstorage,indexedb,当然还可以通过formdata上传至http服务器。下面我来测试一下:

localStorage存储Model

浏览器代码

<html>
  <head>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs/dist/tf.min.js"> </script> 
    <script>
        (async ()=>{
    
            const model = tf.sequential();
            model.add(tf.layers.dense({
    units: 1, inputShape: [1]}));
            model.compile({
    loss: 'meanSquaredError', optimizer: 'sgd'});
            const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
            const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);
            model.fit(xs, ys).then(() => {
    
                model.predict(tf.tensor2d([5], 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devilyouwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值