windows下的tfjs-node安裝異常總結

大約有半年沒有寫博客了,奔波於上海這座魔都之中。險些忘了本身是個有夢想的全棧工程師前端

書接上回,因爲我的很是厭惡python的語法,半年前發現了tensorflow.js這個寶貝(下簡稱tfjs),喜出望外,從18年4月Google發佈的0.0.1版本至今,都沒有一個無缺的node版本,以前我就有吐槽過這個問題,深度學習竟然只能在browser中跑,而即便在node中引入tfjs也沒法保存訓練模型,這樣的訓練真的沒有什麼意義啊,直到這幾天辭職在家,打開npm官網,發現了一個tfjs的項目分支,tfjs-node。node

終於能夠給npm上的tfjs歸個類了。注意:python

@tensorflow/tfjs這個項目是偏向前端,瀏覽器而生的c++

@tensorflow/tfjs-node是針對後端node,因此若是是在服務器或者PC端運行則應該請使用這個版本npm

可是本人在使用tfjs-node的過程當中發現他的安裝仍是有點繁瑣的,不是npm install這麼簡單json

首先根據官網的介紹,windows下須要先安裝python2.x系列,因此先到python官網下載2.7版本的pythonwindows

package.json文件後端

{
    "name": "",
    "description": "",
    "version": "0.0.1",
    "dependencies": {
        "@tensorflow/tfjs-node": "latest"
    }
}

接下來瀏覽器

npm install

以上操做是極有可能出現以下錯誤:
直接npm install的錯誤
整個錯誤其實很模糊,並且能夠清楚的看到其強調了這不是npm的錯誤。bash

這是怎麼回事呢,原來前面有提到,tfjs-node依賴於python和C++的,實際上是一種將node和python下的tensorflow框架融合的技術,我猜想tfjs-node並無完整使用js語言開發出神經網絡框架,而是須要大量調用原生tf(C++,py)的庫。

因此這裏報的錯誤應該是執行python腳本和其餘編譯過程拋出的錯誤,而npm並不能定位到這樣的異常或錯誤。

不過通過個人成功安裝,有如下幾點注意:

  1. 可能須要安裝msbuild,這應該是用到了一些c++的編譯工做(筆者以前沒有安裝一直報找不到的錯,但不肯定是否是必要)
npm install -g --production windows-build-tools
  1. 翻越一道牆,執行install.js的過程估計請求了不少不可告人的網站哦,請自行shadowsock全局模式
  2. 刪除多餘的node_modules,我發現tfjs和tfjs-node項目的module彷佛是衝突的,請不要同時安裝兩項,若是搞不清衝突在哪,建議刪除整個node_modules目錄便可(建議在構建tfjs-node的項目前,就是一個空項目)
rm -rf .\node_modules\

看到這一步基本就是成功了,這個download過程應該是要跨牆的
下載過程

相關文章
相關標籤/搜索