====== Lobeで超簡単に画像認識 ====== [[ml:index.html|機械学習の記事 2020年版]] ===== 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でモデルをエクスポートしたときに出てくるファイルの一部は[[http://example.com|外部リンク]]のようになっているため、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を利用するための流れ ===== -gitをインストール([[https://laboradian.com/git-installation-on-wndows/|参考リンク]]) -VisualStudioCodeをインストール -vanilla Python3.6をインストール -VisualStudioCodeのターミナル画面でコマンドプロンプトを開く -pipenvのインストール -システム環境変数の設定([[https://qiita.com/d-kitamura/items/3b8c4ac362668cac6e75|外部リンク]]) -仮想環境を構築する。新規フォルダ「tf1-venv」を作成し,右クリックして「Codeで開く」 -''%%pipenv --python 3.6%%'' -VScodeの拡張機能Python(ms-python.python)をインストール -[ユーザーホーム]\AppData\Roaming\Code\User\settings.jsonの設定(コマンドプロンプトになるようにする) -ワークスペースを保存し、[ワークスペースフォルダ]\.vscode\settings.jsonの設定を行う -''%%pipenv install autopep8 flake8 mypy --dev%%'' -''%%pipenv install numpy matplotlib%%'' -test.pyを作成し[[https://qiita.com/youkidkk/items/b674e6ace96eb227cc28#-%E5%AE%9F%E8%A1%8C|サンプルコード]]をコピペ -test.pyを実行してみる。具体的には、ターミナル画面で、''%%python test.py%%'' -''%%pipenv install tensorflow==1.15.3 %%'' -''%%pipenv install keras==2.3.1%%'' -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の連携方法 -変更したファイルの「+」をクリックしてステージングする -コメントを入力して、「✔︎」をクリックしてコミットする -「・・・」をクリックしてメニューを開き、「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を実行 ===== [[https://i-doctor.sakura.ne.jp/font/?p=44635|Microsoftの機械学習アプリLobe(beta版)でリンゴとみかんを分類するWEBアプリ作成を試してみる(1)LobeのインストールからTensorFlowモデルのエクスポートまで]]でエクスポートしたモデル https://gist.github.com/adash333/ce7f4e9d904321092af5d8fda24cada2 {{ :ml:img_20201106_173736.jpg |}} AppleOrange TensorFlowフォルダの中の、exampleフォルダにpython3.6の仮想環境を作成 python tf_example.py path/to/image/for/testing -[[https://gist.github.com/adash333/ce7f4e9d904321092af5d8fda24cada2|tf_example.py]]を実行したい -リンゴの画像を1個用意する001.jpg -example/フォルダの中に001.jpgを保存 -example/フォルダ下で、pipenvでpython3.6仮想環境を作成''%%pipenv --python 3.6%%'' -[[https://gist.github.com/adash333/ce7f4e9d904321092af5d8fda24cada2|requirements.txt]]にはtensorflowとpillowが記載されている。これに従って、TensorFlow1.15.3とpillow7.2.0をインストール''%%pipenv install -r ./requirements%%'' -その他のパッケージ(autopep8,flake8,mypy)のインストール''%%pipenv install autopep8 flake8 mypy --dev%%''とVSCodeのWorkspaceの設定([[https://i-doctor.sakura.ne.jp/font/?p=44703#toc_id_10|外部リンク]]) -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 -C:/python/Lobe-Flask-AppleOrange フォルダを作成 -AppleOrangeモデルをダウンロードして中身をLobe-Flask-AppleOrange フォルダに保存 -pipenvでpython3.6仮想環境を作成''%%pipenv --python 3.6%%'' -TensorFlow1.15とpillow7.2.0をインストール''%%pipenv install example/requirements.txt%%'' -VSCodeのWorkspaceの作成とsettings.jsonの設定([[https://i-doctor.sakura.ne.jp/font/?p=44703#toc_id_10|外部リンク]]) -その他のパッケージ(autopep8,flake8,mypy)のインストール''%%pipenv install autopep8 flake8 mypy --dev%%'' -.gitignoreに追記([[https://qiita.com/youkidkk/items/b674e6ace96eb227cc28#-gitignore|外部リンク]]) -以降はFlaskアプリ作成 -result/、static/、templates/フォルダを作成 -templates/ フォルダの中に、index.htmlを作成([[https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_2/|外部リンク]]) -Lobe-Flask-AppleOrange フォルダにpredict.pyを作成(これは考える必要あり。)([[https://github.com/adash333/lobe-AppleOrange-tf1model/blob/main/example/tf_example.py|tf_example.py]]、[[https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_2/|外部リンク]]、https://i-doctor.sakura.ne.jp/font/?p=20440 ) -Flaskのインストール''%%pipenv install flask%%'' -python predict.py -WEBブラウザで、localhost:5000 を開く -predictしたい画像を用意して、WEBブラウザ上でpredictしてみる # print("result:", result[0], "(0:りんご, 1:オレンジ)") predict = result[0] return render_template('index.html', filepath = filepath , predict = predict ) index.html([[https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_2/|外部リンク]]) {% if predict %}

predict: {{predict}}

{% endif %}

ファイルを選択して送信してください

===== 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にデプロイする流れ ===== -ローカルのプロジェクトフォルダをVSCodeで開き、Workspaceを開く -gunicornのインストール ''%%pipenv install gunicorn%%'' -predict.pyの最後の行が、host="0.0.0.0"となっていることを確認 -仮想環境を起動''%%pipenv shell%%'' -''%%pip freeze > requirements.txt%%'' -Procfileというファイルを作成し、以下を入力''%%web: gunicorn app:app --log-file -%%'' -runtime.pyというファイルを作成し、以下を入力''%%python-3.6.8%%'' - -Herokuに登録(signup)https://signup.heroku.com/ -Heroku-CLIのインストールhttps://devcenter.heroku.com/articles/heroku-cli -バージョン確認''%%heroku --version%%'' -Herokuにログイン''%%heroku login%%'' -ブラウザが立ち上がるのでログインをクリック -プロジェクトフォルダ下で''%%heroku create%%'' -Herokuのダッシュボードhttps://dashboard.heroku.com/ にに行き、さきほど作ったプロジェクトをクリック -Deployment methodをGitHubを選択し、『Connect to GitHub』をクリック -Herokuにデプロイしたいプロジェクトを選択 -『Manual deploy』の『Deploy Branch』を押してみる。エラーがでなければok -エラーがでなければ『Enable automatic deploys』を押す -デプロイ先を確認 ===== 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:index.html|機械学習の記事 2020年版]]