ml:lobeで超簡単に画像認識

Lobeで超簡単に画像認識

Windows10にLobeをインストールして画像認識モデルを作成

https://i-doctor.sakura.ne.jp/font/?p=44635
Microsoftの機械学習アプリLobe(beta版)でリンゴとみかんを分類するWEBアプリ作成を試してみる(1)LobeのインストールからTensorFlowモデルのエクスポートまで

https://i-doctor.sakura.ne.jp/font/?p=44703
Microsoftの機械学習アプリLobe(beta版)でリンゴとみかんを分類するWEBアプリ作成を試してみる(2)Windows10でTensorFlow1.15をセットアップ
2020年11月5日

https://i-doctor.sakura.ne.jp/font/?p=44808
Microsoftの機械学習アプリLobe(beta版)でリンゴとみかんを分類するWEBアプリ作成を試してみる(3)Windows10ローカル環境でtf_example.pyを実行
2020年11月8日

https://i-doctor.sakura.ne.jp/font/?p=44883
Microsoftの機械学習アプリLobe(beta版)でリンゴとみかんを分類するWEBアプリ作成を試してみる(4)Windows10ローカル環境でFlaskを用いて画像判定
2020年11月9日

Lobeでエクスポートしたモデルを利用してpredict

https://qiita.com/tkinjo1/items/bbcb77fb0f4b8fe79a81
@tkinjo1
2020年11月04日に更新
Lobeで学習したモデルをPythonで利用する方法

Lobeでwebアプリ

https://github.com/lobe/web-bootstrap
lobe/web-bootstrap
Bootstrap your Lobe web project

これが実行できるなら楽、、、
2020/11/8現在、 Under Construction
期待して待っています。

lobeでのTensorFlow出力は TensorFlow 1.15 SavedModel, python3.6

りんごとみかんを学習してエクスポートしたファイル
https://github.com/adash333/lobe-AppleOrange-tf1model/tree/3a9c48ba6128094491d63d135a84c750270adf51

エクスポートしたファイルの一部
https://gist.github.com/adash333/ce7f4e9d904321092af5d8fda24cada2

TensorFlow形式でエクスポートすると、
TensorFlow 1.15 SavedModelで保存される。

https://docs.lobe.ai/docs/export/export/

(引用ここから)


Local Python app or hosted on Azure, Google Cloud, or AWS

Export your model as a TensorFlow 1.15 SavedModel. TensorFlow’s SavedModel is the standard format used in Python applications running TensorFlow 1.x, and can be deployed in TensorFlow web services to run inference on the cloud as an API.


(引用ここまで)

https://www.kkaneko.jp/tools/win/tensorflow1.html
TensorFlow 1.15.3(旧バージョン)のインストール(Windows 上)
→Windowsで、TensorFlow1.15を使うためには、Python3.7である必要あり。(2020/06 時点)おそらく、Python3.8はダメ。
→さらに、lobeでモデルをエクスポートしたときに出てくるファイルの一部は外部リンクのようになっているため、python 3.6が望ましい。

https://qiita.com/d-kitamura/items/3b8c4ac362668cac6e75
@d-kitamura
2020年03月12日に更新
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)

WindowsでTensorFlow1.15を利用するための流れ

  1. gitをインストール(参考リンク)
  2. VisualStudioCodeをインストール
  3. vanilla Python3.6をインストール
  4. VisualStudioCodeのターミナル画面でコマンドプロンプトを開く
  5. pipenvのインストール
  6. システム環境変数の設定(外部リンク)
  7. 仮想環境を構築する。新規フォルダ「tf1-venv」を作成し,右クリックして「Codeで開く」
  8. pipenv --python 3.6
  9. VScodeの拡張機能Python(ms-python.python)をインストール
  10. [ユーザーホーム]\AppData\Roaming\Code\User\settings.jsonの設定(コマンドプロンプトになるようにする)
  11. ワークスペースを保存し、[ワークスペースフォルダ]\.vscode\settings.jsonの設定を行う
  12. pipenv install autopep8 flake8 mypy --dev
  13. pipenv install numpy matplotlib
  14. test.pyを作成しサンプルコードをコピペ
  15. test.pyを実行してみる。具体的には、ターミナル画面で、python test.py
  16. pipenv install tensorflow==1.15.3
  17. pipenv install keras==2.3.1
  18. TensorFlowとKerasの動作確認

TensorFlow 1と2

2019年10月にTensorFlow2.0がリリース。

https://qiita.com/Suguru_Toyohara/items/da76e3d27e4ca0058885
@Suguru_Toyohara
2019年12月06日に更新
TensorFlow2.0 Advent Calendar 20191日目
Re:ゼロから始めるTensorFlow2.0

https://qiita.com/IchiLab/items/675e98ae827ae5b8bbbe
@IchiLab
2020年07月10日に更新
TensorFlowのバージョン1と2を比較したレシピ集(その1)

http://wshinya.hatenablog.com/entry/2019/10/18/144025
TensorFlow2.0への移行メモ

tensorflowとflaskでwebアプリ

https://medium.com/analytics-vidhya/deploy-ml-tensorflow-model-using-flask-backend-frontend-12a38ce53b7f
Deploy ML tensorflow model using Flask(backend+frontend)
Hasan Haider
Apr 16 2020

https://www.infiniteloop.co.jp/blog/2018/01/learning-keras-05/
2018年1月23日
入門 Keras (5) 学習済みモデルと Flask で API サービスを作る

https://stackoverflow.com/questions/61928192/tensorflow-can-i-run-my-tensorflow-model-directly-in-flask
Tensorflow: Can I run my tensorflow model directly in flask?

https://qiita.com/3BMKATYWKA/items/52d1c838eb34133042a3
@3BMKATYWKA
2020年03月23日
Python × Flask × Tensorflow.Keras 猫の品種を予測するWebアプリ

https://note.com/navitime_tech/n/nc0381517d067
Python 製 Web フレームワークを Flask から FastAPI に変えた話
NAVITIME_Tech
2020/08/28 14:11

github

https://ferret-plus.com/8498
GitHub Desktop:初心者でも分かる、易しい使い方
2020年09月30日
→ Windowsでは、gitとVScodeでやった方がよさそう。(GitHub Desktopは不要そう)

git

https://laboradian.com/git-installation-on-wndows/
Git for Windows のインストール手順
投稿日:2020年3月6日 更新日:2020年4月20日

nodeは、nvm-windowsを用いてインストールする

https://mosapride.com/index.php/2018/04/23/post-810/
【Windows】nvmからnode.jsをインストールする
2018/4/23 2019/2/6

https://qiita.com/jesus_isao/items/63557eba36819faa4ad9
@jesus_isao
2020年02月11日に更新
君には1時間でGitについて知ってもらう(with VSCode)

https://qiita.com/grundtein/items/a22f2995bdeee1916f29
@grundtein
2020年06月12日に更新
初心者が5分で無料でWebアプリをネット公開する。

https://backlog.com/ja/git-tutorial/intro/07/
サル先生のGit入門
チュートリアル1 Gitの基本
新しいリポジトリを作成する

https://qiita.com/inabe49/items/16ee3d9d1ce68daa9fff
@inabe49
2016年08月04日に更新
.gitignore の書き方

https://www.atmarkit.co.jp/ait/articles/2003/05/news006.html
Linux基本コマンドTips(381):
【 git clone 】コマンド――Gitのリポジトリを複製する
2020年03月05日 05時00分 公開

https://techacademy.jp/magazine/10274
git pullを使ってリモートリポジトリと同期する方法【初心者向け】
2017/4/12

VScode

https://prius.cc/itya/20181218_vscode-workspace
vscodeの利用に必須な”ワークスペース”の概念
2018年12月18日


規定ではワークスペースは作成されないので、明示的に作成する必要がある。作成してもしなくてもいい、と考えるのは間違いで、vscodeを効率的に使うためには作成必須である


https://www.premium-tsubu-hero.net/technology/programming/visualstudiocode-workspace/
2020年6月26日 投稿者: ¥552(税込)
VSCodeの使い方-ワークスペース編-

https://qiita.com/EngTks/items/a4f875956f0b087668f6
@EngTks
2019年03月25日に更新
Visual studio codeで.vscodeディレクトリをgit管理から外す

https://qiita.com/mottox2/items/a5813feeaf653ef3e2c3
@mottox2
2020年04月04日に更新
プロジェクトごとにVSCodeの色とテーマを変えて気持ちを切り替える

https://qiita.com/y-w/items/614843b259c04bb91495
@y-w
2020年10月18日に更新
VS Codeのsettings.jsonの開き方

https://qiita.com/surei/items/9f25d7efa7c67d55d98f
@surei
2020年04月19日に更新
VS Code でPython,Jupyter を動かす

https://qiita.com/_ayk_study/items/5d5976eb53994a4be7a4
@_ayk_study
2019年05月06日に更新
【Windows】Visual Studio CodeにおいてターミナルをPowershellからコマンドプロンプトに変更する

https://qiita.com/y-tsutsu/items/2ba96b16b220fb5913be
@y-tsutsu
2020年05月02日に更新
VSCodeでのGitの基本操作まとめ

https://qiita.com/yu0313/items/4f95fc0b7e544c42e107
@yu0313
2020年01月23日に更新
GitHubとVSCODEの連携方法

  1. 変更したファイルの「+」をクリックしてステージングする
  2. コメントを入力して、「✔︎」をクリックしてコミットする
  3. 「・・・」をクリックしてメニューを開き、「push」をクリック

https://www.premium-tsubu-hero.net/technology/programming/visualstudiocode-slide/?amp
2020年6月27日 投稿者: ¥552(税込)
VSCodeの使い方-Markdownでパワポ編-

Python

機械学習であれば、GoogleColabを利用すればよいし、Flaskなどのwebプログラミングも行いたいので、私の場合は、Anacondaではなく、vanilla Pythonをインストールする方針。

pipenvを用いる

仮想環境の作成	pipenv --three
仮想環境を有効にする	pipenv shell
仮想環境を無効にする	exit
パッケージのインストール	pipenv install [name]

venvの場合は、仮想環境実行中は、コマンド プロンプトの先頭に (.venv) と表示されるが、pipenvの場合は?

https://www.python.jp/install/windows/install.html
Windows版Pythonのインストール

https://qiita.com/youkidkk/items/b674e6ace96eb227cc28
@youkidkk
2020年05月04日に更新
Windows + Python + PipEnv + Visual Studio Code でPython開発環境

https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd
@KRiver1
2019年09月12日に更新
pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
→pipenvに決定

https://qiita.com/psychoroid/items/2c2acc06c900d2c0c8cb
@psychoroid
2018年11月06日
VSCodeのPython開発環境でpylintの代わりにflake8を導入し自動整形を設定する
→autopep8とblackがあるらしいが、とりあ、autopep8にしておく方針

https://www.kimoton.com/entry/20181223/1545540702
これで決まり!最強自動コード整形ツール3選!

https://qiita.com/tsu_0514/items/2d52c7bf79cd62d4af4a
@tsu_0514
2019年10月05日に更新
Blackできれいに自動整形!flake8とBlack導入と実行

https://www.macky-studio.com/entry/2019/07/04/152323
2019-07-04
【VS Code】BlackとFlake8を使ってきれいなPythonコードを書く!!

https://qiita.com/y-tsutsu/items/54c10e0b2c6b565c887a
@y-tsutsu
2020年09月12日に更新
Pipenvを使ったPython開発まとめ

https://rinatz.github.io/python-book/ch04-05-pipenv/
ゼロから学ぶPython
pipenv

https://qiita.com/yniji/items/b1b20211846a5a9f189b
@yniji
2019年10月18日に更新
Python 環境構築いろいろ - Windows

https://qiita.com/rubytomato@github/items/fdfc0a76e848442f374e
@rubytomato@github
2020年05月15日に更新
WSL (Windows Subsystem for Linux)の基本メモ

https://www.atmarkit.co.jp/ait/spv/1903/18/news031.html
2019年3月18日
ITの教室:
【WSL入門】第1回 Windows 10標準Linux環境WSLを始めよう

pipenv

pipenv --python 3.6
pipenv install -r ./requirements.txt
pipenv update pip

https://docs.pipenv.org/basics/
Basic Usage of Pipenv

https://qiita.com/ShotaSuzuki-jr/items/daac5ff110dd2c796ef1
@ShotaSuzuki-jr
2020年10月22日
【pipenv】仮想環境の入り方

https://qiita.com/Yasshi840/items/c82cdd2810598eb16819
@Yasshi840
2020年08月12日
vscodeでpipenv使うと端末が勝手にpipenv環境内に入り込むの対処法

https://qiita.com/y-tsutsu/items/54c10e0b2c6b565c887a
@y-tsutsu
2020年09月12日に更新
Pipenvを使ったPython開発まとめ

https://qiita.com/eduidl/items/c0e8256bb3a5a735d19c
@eduidl
2019年09月28日に更新
[Pipenv] uninstallよりcleanの方が多分便利

https://qiita.com/imasaaki/items/25694783ae50dd66303e
@imasaaki
2020年11月04日に更新
windowsでのpython開発環境構築例(wsl2, vscode, pipenv)

https://qiita.com/tokioto/items/0f9a1a38fe4c73c9a749
@tokioto
2020年06月04日
ちょっとよくわからないpipenvの使い方のまとめ(途中経過)

lobeでエクスポートした後にローカルでtf_example.pyを実行

Microsoftの機械学習アプリLobe(beta版)でリンゴとみかんを分類するWEBアプリ作成を試してみる(1)LobeのインストールからTensorFlowモデルのエクスポートまででエクスポートしたモデル
https://gist.github.com/adash333/ce7f4e9d904321092af5d8fda24cada2

AppleOrange TensorFlowフォルダの中の、exampleフォルダにpython3.6の仮想環境を作成

python tf_example.py path/to/image/for/testing
  1. tf_example.pyを実行したい
  2. リンゴの画像を1個用意する001.jpg
  3. example/フォルダの中に001.jpgを保存
  4. example/フォルダ下で、pipenvでpython3.6仮想環境を作成pipenv --python 3.6
  5. requirements.txtにはtensorflowとpillowが記載されている。これに従って、TensorFlow1.15.3とpillow7.2.0をインストールpipenv install -r ./requirements
  6. その他のパッケージ(autopep8,flake8,mypy)のインストールpipenv install autopep8 flake8 mypy --devとVSCodeのWorkspaceの設定(外部リンク)
  7. tf_example.pyを実行python tf_example.py 001.jpg

https://docs.python.org/ja/3/library/index.html
Python 標準ライブラリ

https://qiita.com/tkinjo1/items/bbcb77fb0f4b8fe79a81
@tkinjo1
2020年11月04日に更新
Lobeで学習したモデルをPythonで利用する方法

ローカル環境でFlaskでpredictする流れ

https://i-doctor.sakura.ne.jp/font/?p=20440

  1. C:/python/Lobe-Flask-AppleOrange フォルダを作成
  2. AppleOrangeモデルをダウンロードして中身をLobe-Flask-AppleOrange フォルダに保存
  3. pipenvでpython3.6仮想環境を作成pipenv --python 3.6
  4. TensorFlow1.15とpillow7.2.0をインストールpipenv install example/requirements.txt
  5. VSCodeのWorkspaceの作成とsettings.jsonの設定(外部リンク)
  6. その他のパッケージ(autopep8,flake8,mypy)のインストールpipenv install autopep8 flake8 mypy --dev
  7. .gitignoreに追記(外部リンク)
  8. 以降はFlaskアプリ作成
  9. result/、static/、templates/フォルダを作成
  10. templates/ フォルダの中に、index.htmlを作成(外部リンク)
  11. Lobe-Flask-AppleOrange フォルダにpredict.pyを作成(これは考える必要あり。)(tf_example.py外部リンクhttps://i-doctor.sakura.ne.jp/font/?p=20440 )
  12. Flaskのインストールpipenv install flask
  13. python predict.py
  14. WEBブラウザで、localhost:5000 を開く
  15. predictしたい画像を用意して、WEBブラウザ上でpredictしてみる
# print("result:", result[0], "(0:りんご, 1:オレンジ)")
    predict = result[0]

    return render_template('index.html', filepath = filepath , predict = predict )

index.html(外部リンク)

<html>

<body>
  {% if predict %}
  <img src="{{filepath}}" border="1">
  <p>predict: {{predict}}</p>
  {% endif %}
  <br>
  <p>ファイルを選択して送信してください</p>
  <form action="./" method="POST" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" />
  </form>
</body>

</html>

predict.py

以下のコードは修正が必要

#original code from Microsoft Corporation
# original code from https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_2/

import argparse
import os
import json
import tensorflow as tf
from PIL import Image
import numpy as np
from flask import Flask, render_template, request, redirect, url_for
from datetime import datetime
import sys

MODEL_DIR = os.path.join(os.path.dirname(__file__))


class Model(object):
    def __init__(self, model_dir=MODEL_DIR):
        # make sure our exported SavedModel folder exists
        model_path = os.path.realpath(model_dir)
        if not os.path.exists(model_path):
            raise ValueError(f"Exported model folder doesn't exist {model_dir}")
        self.model_path = model_path

        # load our signature json file, this shows us the model inputs and outputs
        # you should open this file and take a look at the inputs/outputs to see their data types, shapes, and names
        with open(os.path.join(model_path, "signature.json"), "r") as f:
            self.signature = json.load(f)
        self.inputs = self.signature.get("inputs")
        self.outputs = self.signature.get("outputs")

        # placeholder for the tensorflow session
        self.session = None

    def load(self):
        self.cleanup()
        # create a new tensorflow session
        self.session = tf.compat.v1.Session(graph=tf.Graph())
        # load our model into the session
        tf.compat.v1.saved_model.loader.load(sess=self.session, tags=self.signature.get("tags"), export_dir=self.model_path)

    def predict(self, image: Image.Image):
        # load the model if we don't have a session
        if self.session is None:
            self.load()
        # get the image width and height
        width, height = image.size
        # center crop image (you can substitute any other method to make a square image, such as just resizing or padding edges with 0)
        if width != height:
            square_size = min(width, height)
            left = (width - square_size) / 2
            top = (height - square_size) / 2
            right = (width + square_size) / 2
            bottom = (height + square_size) / 2
            # Crop the center of the image
            image = image.crop((left, top, right, bottom))
        # now the image is square, resize it to be the right shape for the model input
        if "Image" not in self.inputs:
            raise ValueError("Couldn't find Image in model inputs - please report issue to Lobe!")
        input_width, input_height = self.inputs["Image"]["shape"][1:3]
        if image.width != input_width or image.height != input_height:
            image = image.resize((input_width, input_height))
        # make 0-1 float instead of 0-255 int (that PIL Image loads by default)
        image = np.asarray(image) / 255.0
        # create the feed dictionary that is the input to the model
        # first, add our image to the dictionary (comes from our signature.json file)
        feed_dict = {self.inputs["Image"]["name"]: [image]}

        # list the outputs we want from the model -- these come from our signature.json file
        # since we are using dictionaries that could have different orders, make tuples of (key, name) to keep track for putting
        # the results back together in a dictionary
        fetches = [(key, output["name"]) for key, output in self.outputs.items()]

        # run the model! there will be as many outputs from session.run as you have in the fetches list
        outputs = self.session.run(fetches=[name for _, name in fetches], feed_dict=feed_dict)
        # do a bit of postprocessing
        results = {}
        # since we actually ran on a batch of size 1, index out the items from the returned numpy arrays
        for i, (key, _) in enumerate(fetches):
            val = outputs[i].tolist()[0]
            if isinstance(val, bytes):
                val = val.decode()
            results[key] = val
        return results

    def cleanup(self):
        # close our tensorflow session if one exists
        if self.session is not None:
            self.session.close()
            self.session = None

    def __del__(self):
        self.cleanup()
        

#Flaskオブジェクトの生成
app = Flask(__name__)


#「/」へアクセスがあった場合
@app.route('/', methods = ['GET', 'POST'])
def upload_file():
  if request.method == 'GET':
    return render_template('index.html')
  if request.method == 'POST':
    # アプロードされたファイルを保存する
    f = request.files['file']
    filepath = "./static/" + datetime.now().strftime("%Y%m%d%H%M%S") + ".jpg"
    f.save(filepath)
    
    parser = argparse.ArgumentParser(description="Predict a label for an image.")
    parser.add_argument("image", help="Path to your image file.")
    args = parser.parse_args()
    if os.path.isfile(args.image):
        image = Image.open(args.image)
        # convert to rgb image if this isn't one
        if image.mode != "RGB":
            image = image.convert("RGB")
            
            
        # モデルを使って判定する    
        model = Model()
        model.load()
        
        outputs = model.predict(image)
        predict = f"Predicted: {outputs}"
        # print(f"Predicted: {outputs}")
    else:
        predict = f"Couldn't find image file {args.image}"
        # print(f"Couldn't find image file {args.image}")

    return render_template('index.html', filepath = filepath , predict = predict )
    
if __name__ == '__main__':
  app.run(host="0.0.0.0", port=int("5000"),debug=True)

path = os.getcwd()
現在のディレクトリのパスを取得

https://note.nkmk.me/python-os-getcwd-chdir/
Pythonでカレントディレクトリを取得、変更(移動)
Posted: 2018-04-16

https://stackoverrun.com/ja/q/1997027
os.path.dirname(file) returns empty

https://www.atmarkit.co.jp/ait/spv/1910/25/news021.html
2019年10月25日
Python入門:
[Python入門]ディレクトリ操作の基本 (1/3)

https://note.nkmk.me/python-f-strings/
Pythonのf文字列(フォーマット済み文字列リテラル)の使い方
Posted: 2018-06-11

https://www.atmarkit.co.jp/ait/spv/1904/16/news013_2.html
2019年4月16日
Python入門:[Python入門]文字列の基本 (2/2)

https://www.sejuku.net/blog/23647
【Python入門】argparseでコマンドライン引数を使ってみよう!
長野 透
2020/5/8
→ argparseとはPythonの標準ライブラリのひとつで、コマンドライン引数を扱いやすくしてくれるモジュール
→ コマンドラインでなければ不要。

Flask

https://medium.com/analytics-vidhya/deploy-ml-tensorflow-model-using-flask-backend-frontend-12a38ce53b7f
Deploy ML tensorflow model using Flask(backend+frontend)
Hasan Haider
2020/16/8

https://qiita.com/kiyokiyo_kzsby/items/0184973e9de0ea9011ed
@kiyokiyo_kzsby
2019年06月29日に更新
Webアプリ初心者のFlaskチュートリアル

https://qiita.com/ynakayama/items/2cc0b1d3cf1a2da612e4
@ynakayama
2019年01月28日に更新
ウェブアプリケーションフレームワーク Flask を使ってみる

https://i-doctor.sakura.ne.jp/font/?p=20440
Kerasで自前データで機械学習した成果をWEBで公開(Keras+Flask)(1)
2017年10月25日

FlaskアプリをHerokuにデプロイする流れ

  1. ローカルのプロジェクトフォルダをVSCodeで開き、Workspaceを開く
  2. gunicornのインストール pipenv install gunicorn
  3. predict.pyの最後の行が、host=“0.0.0.0”となっていることを確認
  4. 仮想環境を起動pipenv shell
  5. pip freeze > requirements.txt
  6. Procfileというファイルを作成し、以下を入力web: gunicorn app:app --log-file -
  7. runtime.pyというファイルを作成し、以下を入力python-3.6.8
  8. Herokuに登録(signup)https://signup.heroku.com/
  9. バージョン確認heroku --version
  10. Herokuにログインheroku login
  11. ブラウザが立ち上がるのでログインをクリック
  12. プロジェクトフォルダ下でheroku create
  13. Herokuのダッシュボードhttps://dashboard.heroku.com/ にに行き、さきほど作ったプロジェクトをクリック
  14. Deployment methodをGitHubを選択し、『Connect to GitHub』をクリック
  15. Herokuにデプロイしたいプロジェクトを選択
  16. 『Manual deploy』の『Deploy Branch』を押してみる。エラーがでなければok
  17. エラーがでなければ『Enable automatic deploys』を押す
  18. デプロイ先を確認

Heroku

https://qiita.com/NOGU626/items/d127215a4d14a81c3a62
@NOGU626
2020年10月25日に更新
Heroku入門、Flaskアプリをデプロイ

https://note.com/on_bass/n/n0495484a2b2b
【Windows10】HerokuのCLIダウンロードからデプロイまで
なつめ
2019/04/15 16:53

https://techacademy.jp/magazine/26403
herokuを利用したPythonアプリケーションのデプロイ方法を現役エンジニアが解説【初心者向け】

https://qiita.com/ahpjop/items/e333eaf304dcdd72d886
@ahpjop
2019年09月05日に更新
【完全版】Flaskで作ったAPIをHerokuにデプロイする手順(備忘録)

https://tanuhack.com/deploy-flask-heroku/
HerokuにFlaskアプリ(hello world)をデプロイする方法まとめ
2019年9月30日

https://i-doctor.sakura.ne.jp/font/?p=20570
Kerasで自前データで機械学習した成果をWEBで公開(Keras+Flask)(2)「FlaskアプリをHerokuで公開」
2017年10月28日

https://qiita.com/chihiro/items/5c3ff400f6cb99deb945
@chihiro
2019年08月28日に更新
【herokuコマンド】createからdestroyまで

herokuで古いバージョンのpipがインストールされてしまう

私の場合は勝手に

Installing pip 9.0.2, setuptools 47.1.1 and wheel 0.34.2

となってしまう。

https://www.reddit.com/r/Heroku/comments/hqkyrv/how_do_i_change_the_version_of_pip/?utm_source=amp&utm_medium=&utm_content=post_body

https://www.reddit.com/r/Heroku/comments/a2irq6/pip_upgrade_not_working_on_heroku/?utm_source=amp&utm_medium=&utm_content=post_body

http://5.9.10.113/64679676/cant-deploy-mysqlclient-on-heroku-via-pipfile-lock

https://stackoverflow.com/questions/64679676/cant-deploy-mysqlclient-on-heroku-via-pipfile-lock

https://stackoverrun.com/ja/q/11644217

wheel ?


Simply replace the tensorflow==1.0.0 line in your requirements.txt with https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.0-cp27-none-linux_x86_64.whl


https://www.tensorflow.org/install/pip?hl=ja#virtual-environment-install

やっと見つけた?

https://pypi.org/project/tensorflow/1.15.3/#files

Filename, size
tensorflow-1.15.3-cp36-cp36m-manylinux2010_x86_64.whl (110.5 MB)
https://files.pythonhosted.org/packages/02/36/9a02e27f0ec248b676a380ffe910c1858e3af3027c0d4d513dd0b56a5613/tensorflow-1.15.3-cp36-cp36m-manylinux2010_x86_64.whl

requirements.txtの

tensorflow==1.15.3

https://files.pythonhosted.org/packages/02/36/9a02e27f0ec248b676a380ffe910c1858e3af3027c0d4d513dd0b56a5613/tensorflow-1.15.3-cp36-cp36m-manylinux2010_x86_64.whl

に書き換えたら、うまくいった。

https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.15.3-cp36-cp36m-manylinux2010_x86_64.whl
→okのよう

Tensorflow.js

Lobeで出力したTensorFlowのモデルと、
TensorFlow.js用のモデルは別物とのこと。

https://qiita.com/kwashi/items/12d2dfe653699ccfe3f4
@kwashi
2020年02月19日
【tensorflowjs_converter】TensorflowのモデルをTensorflow.jsの形式へ変換する方法

https://qiita.com/studio_haneya/items/00311534d6fc9a32b570
@studio_haneya
2020年02月14日
TensorFlow.jsを使ってjavascript上でkerasモデルを使う

https://qiita.com/kazuhitoyokoi/items/e4da2dc1c39c0a11569e
@kazuhitoyokoi
2020年07月22日
TensorFlow.jsノードをNode-REDで使ってみる

https://techblog.exawizards.com/entry/2018/11/01/174122
Tensorflow.jsを用いたブラウザで動く物体認識

https://blog.dcs.co.jp/deep-learning/keras.html
Kerasで作成したディープラーニングモデルをブラウザ上で動かしてみた
2020年1月16日 深層学習
→難しいか?

https://qiita.com/sasaco/items/9c7a4e247710ed747dbd
@sasaco
2020年05月15日に更新
Tensorflow.Keras で学習したモデルをtensorflow.jsで使う
→Colab、Angularを使用。

https://qiita.com/kwashi/items/35883352bf3f07e4253b
@kwashi
2020年02月19日に更新
はじめてのTensorflow.js

https://note.com/npaka/n/ndb93d6d41210
TensorFlow.js 入門 / 画像分類
npaka
2020/05/11

見出し

ml/lobeで超簡単に画像認識.txt · 最終更新: 2020/11/11 by adash333

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki