ml:201116_tfjs-express-netlify
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
ml:201116_tfjs-express-netlify [2020/11/21] – [Lobeで出力したTensorFlow 1.15 SavedModelをTensorFlow.js用モデルに変換してpredictする流れ] adash333 | ml:201116_tfjs-express-netlify [2020/11/26] (現在) – [さくらインターネットにモデルファイルを置いた後にCORS回避の設定] adash333 | ||
---|---|---|---|
行 20: | 行 20: | ||
Microsoftの機械学習アプリLobe(beta版)でリンゴとみかんを分類するWEBアプリ作成を試してみる(7)ExpressアプリをHerokuまたはNetlifyにデプロイ | Microsoftの機械学習アプリLobe(beta版)でリンゴとみかんを分類するWEBアプリ作成を試してみる(7)ExpressアプリをHerokuまたはNetlifyにデプロイ | ||
2020年11月20日 | 2020年11月20日 | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | Windows10にvue-cliをインストールしてVue.jsを始めてみる | ||
+ | 2020年11月24日 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== ソースコード ===== | ===== ソースコード ===== | ||
行 183: | 行 195: | ||
===== Lobeで出力したTensorFlow 1.15 SavedModelをTensorFlow.js用モデルに変換してpredictする流れ ===== | ===== Lobeで出力したTensorFlow 1.15 SavedModelをTensorFlow.js用モデルに変換してpredictする流れ ===== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||
TensorFlowで保存できるモデルの形式は2つ | TensorFlowで保存できるモデルの形式は2つ | ||
行 232: | 行 248: | ||
-C:/ | -C:/ | ||
+ | -C:/ | ||
+ | -py-model/ フォルダに[[https:// | ||
-[[https:// | -[[https:// | ||
+ | -cd py-model | ||
+ | -pipenv install tensorflowjs | ||
+ | -pipenv shell | ||
+ | -tensorflowjs_wizard を入力し、 | ||
+ | -対話的にtf_saved_modelからtfjs_graph_modelへのconversionを実行 | ||
+ | -static/ フォルダに、apple_orange/ | ||
-static/ | -static/ | ||
- | -static/ フォルダに、apple_orange/ | ||
-yarn | -yarn | ||
-yarn add @tensorflow/ | -yarn add @tensorflow/ | ||
-static/ | -static/ | ||
- | -static/ | + | -static/ |
-yarn start | -yarn start | ||
-Chromeでlocalhost: | -Chromeでlocalhost: | ||
行 261: | 行 284: | ||
const MODEL_URL = ' | const MODEL_URL = ' | ||
- | const model = await loadGraphModel(MODEL_URL); | + | const model = loadGraphModel(MODEL_URL); |
- | const cat = document.getElementById(' | + | const img = document.getElementById(' |
- | model.execute(tf.browser.fromPixels(cat)); | + | const y = model.execute(tf.browser.fromPixels(img)); |
+ | console.log(y); | ||
</ | </ | ||
行 275: | 行 299: | ||
TensorFlow.jsで「じゃんけん」を判別してみよう | TensorFlow.jsで「じゃんけん」を判別してみよう | ||
(ソースコード) | (ソースコード) | ||
+ | |||
+ | |||
+ | ===== TensorFlow.jsリンク ===== | ||
+ | |||
+ | https:// | ||
+ | @kzmssk | ||
+ | 2019年04月14日に更新 | ||
+ | tfjs-converterでpythonのモデルをtfjsで実行する | ||
+ | |||
+ | < | ||
+ | import * as tf from ' | ||
+ | |||
+ | const MODEL_URL = ' | ||
+ | |||
+ | async function main() { | ||
+ | const model = await tf.loadGraphModel(MODEL_URL) | ||
+ | const x: tf.Tensor2D = tf.tensor([[1, | ||
+ | const y = await model.predict(x) | ||
+ | console.log(y.toString()) | ||
+ | } | ||
+ | |||
+ | main() | ||
+ | </ | ||
+ | |||
+ | https:// | ||
+ | | ||
+ | Node.jsでサーバを構築し、Tensorflow.jsでCNNの画像分類してみた【機械学習・Javascript】 | ||
+ | |||
+ | https:// | ||
+ | TensorFlow.js 入門 / 画像分類 | ||
+ | npaka | ||
+ | 2020/05/11 18:50 | ||
+ | |||
+ | https:// | ||
+ | @iwatake2222 | ||
+ | 2020年01月25日 | ||
+ | Deep Learningアプリケーション開発 (8) TensorFlow.js | ||
+ | |||
+ | https:// | ||
+ | @amanoese | ||
+ | 2019年07月22日に更新 | ||
+ | Vue.jsとTensorflow.jsで手書きの数字を分類できるようにしてみた | ||
+ | |||
+ | https:// | ||
+ | TensorFlow.jsでMNISTのアプリを作成する(初心者向け) | ||
+ | |||
+ | https:// | ||
+ | @THERE2 | ||
+ | 2020年06月04日に更新 | ||
+ | Javascriptの顔認識モデルで激太りのミーシャ・バートンを認識できるのか? | ||
+ | |||
+ | https:// | ||
+ | TensorFlow.js: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== JavaScript 整形 prettier ===== | ||
+ | |||
+ | https:// | ||
+ | 【VSCode】Prettierの使い方&おすすめ設定を紹介 | ||
+ | 2019.10.25 | ||
+ | |||
+ | ===== yarnとVue.js ===== | ||
+ | ローカル環境で、コードを変更するたびにサーバを停止して、npm startするのが面倒なので、vue-cliを使う方針とした。 | ||
+ | (本当はCodeSandBoxを使いたかったが、TensorFlow.jsのモデルが約100MBあり、50MB制限にひっかかてしまってダメだった。→さくらインターネットのサーバにモデルだけおいて、CORS対策(さくらのサーバに.htaccssを設置)する方法もあるが、面倒なのでやめた。) | ||
+ | |||
+ | https:// | ||
+ | @rubytomato@github | ||
+ | 2020年07月16日に更新 | ||
+ | npmとyarnのコマンド早見表 | ||
+ | |||
+ | https:// | ||
+ | @567000 | ||
+ | 2020年07月13日に更新 | ||
+ | Vue.js を vue-cli を使ってシンプルにはじめてみる | ||
+ | |||
+ | https:// | ||
+ | Vue.js】初心者にオススメなエディタは「VSCode」+「Vetur」【拡張機能オススメ一覧】 | ||
+ | 2019年5月30日 最終更新日: 2019年11月17日 | ||
+ | |||
+ | https:// | ||
+ | 2019.10.01 | ||
+ | Vue.jsで直接DOMを操作する時に使える$elと$refs | ||
+ | |||
+ | https:// | ||
+ | @1994spagetian | ||
+ | 2019年04月02日に更新 | ||
+ | [Vue.js] $refsでコンポーネント内の子要素を触る | ||
+ | → getElementById の代わりに、Vue.jsでは、 | ||
+ | |||
+ | < | ||
+ | id=" | ||
+ | |||
+ | document.getElementById(img) を this.$refs.img | ||
+ | </ | ||
+ | |||
+ | のように記載する | ||
+ | |||
+ | https:// | ||
+ | @kskinaba | ||
+ | 2020年07月01日に更新 | ||
+ | Vue.jsを100時間勉強して分かったこと | ||
+ | |||
+ | ===== Vue.jsの$refsその他 ===== | ||
+ | |||
+ | |||
+ | https:// | ||
+ | @fruitriin | ||
+ | 2019年03月06日に更新 | ||
+ | Vueで直接DOMノードを参照するプロパティを知ってアハ体験したのでまとめてみた | ||
+ | |||
+ | https:// | ||
+ | $refsは一時的な変更 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== さくらインターネットにモデルファイルを置いた後にCORS回避の設定 ===== | ||
+ | |||
+ | CodeSandBoxだと、50MBまでの制限があり、Lobeで出力したモデルをTensorFlow.jsに変換したモデルを置くことができない。 | ||
+ | →自分で契約しているさくらインターネットのサーバにモデルだけおいた。 | ||
+ | →CodeSandBoxからモデルを読み込みに行こうとすると、CORSにひっかかってしまう | ||
+ | |||
+ | https:// | ||
+ | 2016-10-11 | ||
+ | さくらのサーバに置いたWebフォントをはてなブログから使う | ||
+ | < | ||
+ | .htaccessファイルを作成し、 | ||
+ | Header set Access-Control-Allow-Origin: | ||
+ | などと書き込んでフォルダと同じディレクトリにぶち込む | ||
+ | </ | ||
+ | |||
+ | http:// | ||
+ | 2020/05/24 | ||
+ | < | ||
+ | |||
+ | https:// | ||
+ | 外部から取得した画像がgetImageDateできない。 | ||
+ | 投稿 2019/02/20 01:32 | ||
+ | |||
+ | ===== TensorFlow.jsチュートリアル ===== | ||
+ | |||
+ | |||
+ | https:// | ||
+ | |||
ml/201116_tfjs-express-netlify.1605995269.txt.gz · 最終更新: 2020/11/21 by adash333