機械学習のカタログモジュラ合成への利用—パートI
9898 ワード
A 1080p version of the video is available on Cinnamon
これは、私の毎週のショーからとられるビデオです"ML for Everyone" あの放送live on Twitch every Tuesday at 2pm UK time .
これは、SI Metsonと私自身がモジュール学習者を含む個々のモジュールを認識して、識別するために機械学習モデルを訓練しようとする一連のライブコーディングセッションの最初の記録です.
このセッションでは、ほとんどデータを照合して、それを機械学習モデルに使用されるのに適した形式にしようとしました.このチュートリアルでは、TensorFlowオブジェクト検出APIについて、ほとんど以下のようにしました.
https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/
モデルのトレーニングデータを生成するには、次の手順を実行しました. サイトをこすったModulargrid 各モジュールとそのメタデータ(名前など)の画像を収集する. 合成シンセサイザパネルを生成するスクリプトを連結します 作成されたTensorFlow 私たちは、協調の計算の周りのいくつかのロジックをデバッグしようとして、ストリームの終わりに時間がなくなった.我々は、はるかに簡単な方法を後にし、この方法にコードをリファクタリングを実現しました.
オブジェクト検出APIはデータがある形式であると予想します
スクリプトを実行するには、我々の訓練データのために使用するレコードの数を生成することができますし、訓練モデルの精度をテストするために使用する数
変調器
これは、私の毎週のショーからとられるビデオです"ML for Everyone" あの放送live on Twitch every Tuesday at 2pm UK time .
これは、SI Metsonと私自身がモジュール学習者を含む個々のモジュールを認識して、識別するために機械学習モデルを訓練しようとする一連のライブコーディングセッションの最初の記録です.
このセッションでは、ほとんどデータを照合して、それを機械学習モデルに使用されるのに適した形式にしようとしました.このチュートリアルでは、TensorFlowオブジェクト検出APIについて、ほとんど以下のようにしました.
https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/
モデルのトレーニングデータを生成するには、次の手順を実行しました.
N
(この場合、5)ランダムモジュール画像が並んでいる.この方法では、イメージ内の各モジュールの実際の座標を知ることができます.彼らが一緒に連結される前に、各々のイメージは共通の高さまで拡大されます.tfrecord
メタデータとイメージの効率的なバイナリパック(Protobufsに基づく)を含んだファイル.オブジェクト検出APIはデータがある形式であると予想します
tfrecord
インスタンス.この形式は、処理するのに非常に効率的であり、マシンを学習するパイプラインに大量の情報を注入する必要があるときには、データをできるだけ高速にロードする必要があります. tf_example = tf.train.Example(features=tf.train.Features(feature={
'image/height': dataset_util.int64_feature(image.height),
'image/width': dataset_util.int64_feature(image.width),
'image/filename': dataset_util.bytes_feature(filename.encode('utf-8')),
'image/source_id': dataset_util.bytes_feature(filename.encode('utf-8')),
'image/encoded': dataset_util.bytes_feature(open(filename, "rb").read()),
'image/format': dataset_util.bytes_feature( b'jpg'),
'image/object/bbox/xmin': dataset_util.float_list_feature(xmins),
'image/object/bbox/xmax': dataset_util.float_list_feature(xmaxs),
'image/object/bbox/ymin': dataset_util.float_list_feature(ymins),
'image/object/bbox/ymax': dataset_util.float_list_feature(ymaxs),
'image/object/class/text': dataset_util.bytes_list_feature(classes_text),
'image/object/class/label': dataset_util.int64_list_feature(classes),
}))
ウェブサイトからscrapeするメタデータは次のようになります. {
"id": "29365",
"image": "https://www.modulargrid.net/img/modcache/29365.f.jpg",
"info": [
"CV Modulation",
"Drum",
"Envelope Generator",
"Utility"
],
"size": "10 HP",
"name": "Dual Trig Conditioner",
"manufacturer": "Analog Ordnance",
"description": "Gate to trig + decay env"
},
そして、我々が生産する複合'偽のイメージは、以下のように見えます:スクリプトを実行するには、我々の訓練データのために使用するレコードの数を生成することができますし、訓練モデルの精度をテストするために使用する数
(venv) matt@Matts-MBP modulair % python randomise.py
100%|████████████████████████████████████████| 1000/1000 [01:47<00:00, 9.34it/s]
Successfully created the TFRecord file with 1000 records: train.record
100%|██████████████████████████████████████████| 100/100 [00:10<00:00, 9.10it/s]
Successfully created the TFRecord file with 100 records: test.record
(venv) matt@Matts-MBP modulair %
このセッションのコードはすべて次のとおりです.IbmDeveloperuk / 変調器
変調器
これらはモジュールのsythesizerからモジュールのイメージをフェッチして、オブジェクト検出モデルのトレーニングのためにそれらをフォーマットするスクリプトです.
ここでは、このミニプロジェクトについてすべてを読むことができます.
View on GitHub
次のセッションでは実際にトレーニングパイプラインを設定し、データをトレーニングします.
私はあなたがそれらをライブしたい場合は、ビデオを楽しんだことを願って、私は一般的に午後2時英国時間午後2時火曜日、各ストリームIBM Developer Twitch channel
Reference
この問題について(機械学習のカタログモジュラ合成への利用—パートI), 我々は、より多くの情報をここで見つけました
https://dev.to/hammertoe/using-machine-learning-to-catalog-modular-synthesizers-part-i-1jea
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(機械学習のカタログモジュラ合成への利用—パートI), 我々は、より多くの情報をここで見つけました https://dev.to/hammertoe/using-machine-learning-to-catalog-modular-synthesizers-part-i-1jeaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol