成果物
今回は何と、Scratchそのものを改造して、人工知能を動かしちゃいました!(/・ω・)/
え、背後でPython動かしてるって?ScratchだってバックはJavaScriptだし、Tensorflowにも、C言語関わってくるし細かいことは気にしない(=゚ω゚)ノ
MNISTしかやってないけど、日本語扱ってみるのも面白いかもしれませんね。なにやら、漢字の方が特徴が検出しやすいから正解率高いとか…
動作環境
Tensorflow2.0
GPUは、cuDNN failed to initializeやメモリ不足で使っていませんが。動くと思います。
cuDNN failed to initializeは、どうやら環境あたりのエラーみたいです。
作り方・コード
ScratchExtensionの作り方はここが参考になると思います。この通りに進めた想定で話を進めていきます。
外国のサイトからも引用されててびっくりしました。少し話はそれますが、Extensionでは、Scratchの関数定義ではつくれない、戻り値があるブロックも作れるようになります。Scratchはわかりやすい分こういうところが()。数学関数の実装が驚くほど捗ります。
それでは、scratch-vm>src>extensions>scratch3_newblocks>index.jsを
次のコードで置き換えてください。
次に、こちらのPythonのコードを実行してください。
最後にこちらのスクラッチのコードを開いてください。ScratchのコードはGistにアップできないのが残念です。
https://firestorage.jp/download/3f1b8eee42657385db866377ddf0520fa2c802d69c4302
今回もSocket通信ですが、WebSocketなのが違います。ライブラリが必要なことに注意してください。
全く関係ないですが、Youtubeに子供向けの項目が増えてみたいですね。一瞬子供向けにしようかと思いましたが、制限がかかるので止めておきました。