機械学習を学習する雑メモ ※筆者は超絶初心者

ワンポイント

何かあり次第追記いたします。

・Google Colabでpyaudioが入らない!
portaudio必要なのはワカるがこれもpip installできない!
→apt-getで解決や!
!apt-get install portaudio19-dev
19-devの必要性についてはわからない!(素人

・学習データをWebで調達するには?
スクレイピングという作業になる。機械的(迅速)に情報収集する関係上、下手打つと偽計業務妨害や著作権法諸々に問われるおそれがあります。注意。
・Requests
・Beautiful Soup
・Selenium
辺りを使うのが基本っぽいので自由に調べましょう。

・機械学習超入門(とりま学習走らせてやったった感を得たい!)に適したソース
ConSinGANは画像1枚で学習走らせ30分ほどで成果を可視化できるから機械学習の取っ掛かりとして非常によいです。しかも現時点(2020/07/08)で新しめ。うちみたいな弱小がリンク貼るのも恐れ多いので検索してgithubまで飛んでどうぞ。

・機械学習あまり関係ないpython基本めも
複数のディレクトリにたくさんある複数のファイルをひとまとめに結合する……cat便利だけどfor文絡ませられぬのでpython上で行うやつ。

path = "/content/hoge/"
parent_name = path + "hogehoge"
dirs = os.listdir(path)

with open(parent_name, "w") as parent_file:

for name in dirs:
os.chdir(path)

if os.path.isdir(name):
dir_name = os.path.join(path, name)
print('folder:', dir_name)

os.chdir(dir_name)
files = os.listdir(dir_name)

for fn in files:
if(os.path.isfile(fn)):
file_name = os.path.join(dir_name, fn)
print(file_name)

with open(file_name, "r") as read_file:
for line in read_file:
parent_file.write(line)

最初のディレクトリしか読んでくれず、どこが悪いんやと目を細めてたらループ中のchdir(dir_name)を元に戻してないのに気付いてループ頭にchdir(path)追加。頭使ってないからナマクラやん。

・mellotronの学習がメモリ食いすぎ動かんくて、ちゃんと稼働するWaveRNNを使ったメモ
こまい大量wavファイルが元でもデータ結合されると意味ないやんっていう。

WaveRNNはgitのPreparation~Usageそのままで動いた。そのままやっても躓くのが一番困る。
ただ「ん?」ってなる点はチラホラあったからそのへんを主軸につらつらする。

 Create config.py
オリジナルは残しておき、複写を編集して用いる。なんかあればもっかいコピーし直すだけでvanillaな状態に戻せる。

 Preparing ほにゃらら
独自データ学習するから既存データセットは使わない。
preprocessほにゃらら.pyは入力データと出力先のディレクトリを引数として取る。うちのようにそれぞれのpyを改変して、出力先={入力データの場所}/DATA(9行目を DATA_PATH = SEG_PATH + “/DATA” とした) のようにしてもいいがまったくもって意味はない。引数がひとつになり見た目ちょっとすっきりする程度。

 WaveRNN
上記でデータ準備ができていざモデル構築。
の前にPreparingの段で生成されたファイルが気になりColab上でindexファイル開いて確認なんかしたものだがこれはやめたほうがいい。どうも開いて閉じるだけでエンコード形式か何かが変わってしまう様子。もともとバイナリだったものがテキストとして保存されてどうにかなっちゃうのだろう、多分。preparingやり直して事なきを得ました。
っていう余分なことがなけりゃスムースに行くと思う。初回です宣言のために–scratchオプション付加。ほか詳しくはUsageお読みなされ。
出力を得るにはどうしたらええんや、ってはまってたけど-gオプションでええのな。

コメント