python

kedroで01_rawのディレクトリ構造に合わせて各フェーズのデータを出力する

以前kedroのドキュメントを見たときに推奨されるデータ管理用のディレクトリ構造が定義されているのを見つけた。 https://kedro.readthedocs.io/en/stable/12_faq/01_faq.html#what-is-data-engineering-convention 整理しやすそうだと思ったため自前のスク…

pandasインストール時にエラー(pip 1.20.1)

以下の実行時にnumpyのインストールでエラーとなった。 pip install pandas==1.3.4 1.3.4は別の環境にて最近インストールした記憶があり、そちらは普通に成功していたはずだったので違いを調べてみたところpipのversionが違った。 失敗したのはpip1.20.1で、…

coqui-ai/ttsでvocoderの学習

こちらの続きとしてvocoderの学習と、生成したmelspectrogramをvocoderに通して音声生成してみる https://jsapachehtml.hatenablog.com/entry/2021/06/16/094213 学習 前回書いた通りmultiband-melganを試してみる。データセットもJSUTで同じくLJSpeechと同…

tensorflowで指定の位置の値だけを抽出して次元を減らす

元々やろうとしたことは、transformerの出力から各sentenceの末尾にあたるtokenのembeddingsだけを取り出すこと tensorflowは今までそこまで書いたことはなかったため、やってみると意外と時間がかかったためメモ 例として以下のような形を考える # 元のtens…

音に対するdeep learningの入門として環境音の識別をやってみる(3)

こちらの続き https://jsapachehtml.hatenablog.com/entry/2020/10/24/183410?_ga=2.58998701.1453230663.1604732830-1050067043.1602897991 今回はBC Learningを実装してみたのでメモ BC Learning 論文: https://arxiv.org/pdf/1711.10282.pdf 公式repo: ht…

torchaudioをインストールするとtorchがcpu用のものになる

colab上でtorchaudioをインストールして使っていたのだが、いつの間にか学習速度が落ちていた $ !import torch $ !print(torch.cuda.is_available()) False とりあえずやってみると上記のようになったのでgpuが使えていないことがわかる 先月実行した際は同…

module 'tweepy' has no attribute 'OAuthHandler'

こんなエラーが出た場合のしょうもないハマりについてメモ ググると同じエラーについて出てくるがどれも当てはまらず。なので挙動を調べるためにimport元のファイルがどこにあるかチェック > import tweepy > tweepy.__file__ <path to current directory>/tweepy.py ということで、実行</path>…

pytorchで処理が重いとき on colaboratory

pytorchを使ったモデルで学習を行っている際、処理が重い場合があったためその調査/解決方法についてメモ ちなみにgpuは基本的にgoogle colab上で使っているためその前提で gpuが使えていない 処理が重い場合の一番の原因がこれ。その環境でgpuが利用可能か…

音に対するdeep learningの入門として環境音の識別をやってみる(2)

こちらの記事の続き https://jsapachehtml.hatenablog.com/entry/2020/10/17/231526 今回はEnvNetを実装してみたのでメモ EnvNet 論文:https://www.mi.t.u-tokyo.ac.jp/assets/publication/LEARNING_ENVIRONMENTAL_SOUNDS_WITH_END-TO-END_CONVOLUTIONAL_NE…

音に対するdeep learningの入門として環境音の識別をやってみる

音の扱いがどのようになっているか知りたいと思ったため、最も簡単にできそうなものということで環境音の識別をやってみることにした いろいろググっているとこちらのqiitaがこれまでの経緯をまとめてくれていたためこれを参考にしていくつか実装してみる ht…

opencvで透過pngが変な画像になる

opencvで処理したpng画像を再度imwriteで保存するとおかしな模様が出ている場合があった 例えば単純に以下のようにした場合 image = cv2.imread(image_path) imwrite('/tmp/image.png', image) 調べてみると原因はalphaチャネルが0のpixelでもRGBの値は入っ…

pythonでclipした画像データのhashを得る

元々やりたかったこととしてはランダムにclipした画像を重複なく保存すること。そのためファイル名として画像データのhashがほしかった。以下のコードでhashを取得できる。 import cv2 import hashlib pos_x , pos_y = <clip領域の左上の座標> width , height = <clip領域の幅と高さ> path = <clipしたい画像のpath> image = c</clipしたい画像のpath></clip領域の幅と高さ></clip領域の左上の座標>…

matplotlibで散布図に凡例をつける

散布図を描くにはscatterを用いる。scatterとlegendを組み合わせて使う場合の例はこちらにある。 Scatter plots with a legend — Matplotlib 3.1.2 documentation これによると以下の2つの方法がある 凡例としてつけたいlabel毎にscatterを呼ぶ x, y, cにそ…

pytorchでindexのリストを指定してtensorの要素を取得

Double DQNの実装に必要になるちょっとした計算についてメモ 2つの2次元tensor x, yを用意し、"xの各行において最大の値を持つ要素"と同じ位置にあるyの要素を取得する >>> x = torch.rand(3,5) >>> x tensor([[ 0.0778, 0.6633, 0.4953, 0.1461, 0.4691],…

Google Colab上でgym-retroのソニックを学習

以前迷路の学習を方策勾配法でやってみて、それをこちらにまとめた 方策勾配法とニューラルネットワークで迷路を学習 - MEMOcho- これと同じ方法をgym-retroに適用してソニックの学習を試してみた。ちなみに先に結果を書いておくと、スコアをちゃんと取れる…

OpenAI Retro Contestの環境でリプレイ映像を見る

OpenAI Retro Contestの環境構築そのものは既にまとめてくれている方がいて、大変わかりやすかった。この通りにやったら簡単にGym Retro Integrationを動かすことができた。ありがとうございます。 OpenAI Retro Contestの「Gym Retro Integration」でソニッ…

方策勾配法とニューラルネットワークで迷路を学習

DQNで実装したものはネット上でよく見かけるが方策勾配法を使ったものは意外と見つからないのでやってみた。 題材はこちら 第5回 ⽅策勾配法で迷路を攻略|Tech Book Zone Manatee 私はこの連載で強化学習の基本的な実装方法を学んだがとてもわかりやすかっ…

pytorchでエラー(Leaf variable was used in an inplace operation)

タイトルに書いたエラーが出たのでわかったことをメモ とりあえず解決に最も有用だった情報はこれ Leaf variable has been moved into the graph interior - autograd - PyTorch Forums 生成したtensorの要素を直に書き換える処理をした上で、backwardを行う…

macでmatplotlibによる画像出力

mac上でskimageを入れた際にエラーになったのでメモ pyenvにてinstallしたpython3.5にて、pipで入れたskimageによって画像を出力しようとした際エラーになった 発生したエラーはこちら >from skimage import io >image = io.imread('example.png') >io.imsho…