spreadsheetへの貼り付け時にダブルクォーテーションが消える

spreadsheetに以下のような複数行のテキストをコピペして貼り付けるとダブルクォーテーションが消える "example1" "example2" ちなみにコピーするのが一行だけだとちゃんとダブルクォーテーションも貼り付けられる どうやらテキスト先頭にダブルクォーテーシ…

colab proを使ってみた

1ヶ月だけcolab proを使ってみたのでメモ https://jsapachehtml.hatenablog.com/entry/2021/06/16/094213 こちらの記事で少し書いたが、学習に数日かかるものだったため再実行の頻度を下げようと思って一度使ってみることにした colaboratoryの無料版、有料…

coqui-ai/ttsで日本語音声合成を試す

いままで音声の生成はやってみたことがないため勉強のためにやってみたのでメモ。 目的としてはどういうことを行っているのか理解したいというのと、TTSを学習させてみた場合にどの程度のコストがかかってどのくらいの音声が生成できるのかというのが気にな…

colaboratoryとGCSのregionを一致させる

https://jsapachehtml.hatenablog.com/entry/2021/04/25/142900 こちらの書いたことの補足として調べたことをメモ サーバの位置を割り出すipinfo.ioを参照するのが簡単そうだった。 モダンなIPアドレス表示サービス「ipinfo.io」 - ソフトアンテナブログ col…

colaboratoryで使うdatasetをどこに置いておくのがよいか調べる

前回こんな記事を書いたが、どこに置いておくのが効率よいのか気になったので調べてみた https://blog.hatena.ne.jp/y-kamiya/jsapachehtml.hatenablog.com/edit?entry=26006613718710543 colaboratoryは起動のたびにまっさらの状態になるためデータセットな…

google colaboratoryでGCSからデータ取得

gcsとデータをやり取りする場合、gcloudを入れて初期設定をしてから付属のgsutilを使うという流れでやっていたが、実はgcloudは入れなくてもよいことに気づいたのでメモ gsutilの公式のインストール方法として、Pythonパッケージからのインストールという項…

google colaboratoryで効率よくデバッグしたい

google colaboratoryはgpuやtpuを無料で使うことができ大変便利だが、gpu関連の処理をデバッグしたい場合などは多少手間がかかる colab上での実行が必須のコードのデバッグ時に私が行っていた手順は以下 ローカルでコードを変更 適当にコミット colab上でgit…

テキスト感情分類(マルチラベル)

こちらの記事で追加でやってみると書いたことのいくつかについてやったのでメモ https://jsapachehtml.hatenablog.com/entry/2021/01/17/142444 マルチラベル分類 参考にしたこちらの論文と同じ形にして精度を比べてみることにした(英語のデータセットで) …

日本語のテキスト感情分類をやってみる

感情分類は以下の2通りに大分けされる模様 positive/negativeの二値分類(neutralを含める場合もあり) joy, sadnessなど複数の感情に分類 このうち特に2.についてはapiとして公開されているものもそこまで多くない印象なのでこちらについてやってみることに…

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

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

特定のコマンド実行が終わるまでPCをスリープさせない(mac)

時間のかかる処理をローカルPCで動かしている場合などスリープさせたくないことがある PCの電源管理の設定でスリープしないようにすればOKだが、当然それだと必要な処理が終わった後でもスリープにならないため無駄 以下のコマンドで実行中のみスリープにな…

colaboratoryに表を出力すると崩れる

tabulateで表を出力した際に以下のように崩れた 文字によって幅が異なっていることが原因(=等幅フォントじゃない) chromeのフォント設定を見てみるとOsakaになっている colaboratoryの編集用セルや出力欄は↑の設定の固定幅フォントが使われている ただ謎な…

音に対する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が使えていないことがわかる 先月実行した際は同…

owner権限を持っているディレクトリでOperation not permitted

ストレージの整理のために~/Library以下などをチェックしていたところ見られないところがあった。 $ ls -l ~/Library/Application\ Support/MobileSync ls: MobileSync: Operation not permitted sudoをつけても同じで、そもそもownerだったのでsudoいらない…

module 'tweepy' has no attribute 'OAuthHandler'

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

server version is too old for client

itermでコマンド実行後にこのメッセージが出るようになった どうやらメッセージの出どころはtmuxのようで、tmuxをupdateしたものの古いsessionをそのまま利用している状態で出る模様 https://github.com/tmux/tmux/issues/2212 こちらで一度落として起動しな…

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…

pytorchで評価時のみOut of memory

trainingは問題なくできるのが、評価の段階になるとメモリー不足で落ちることがあった。 データセットのサイズとしてはメモリ不足になるような大きさではないため、ロジックを調べてみるとtensorを加算する処理をtorch.no_gradなしにやっていることが原因だ…

Bertで不自然な文を検知してみる

Bertなどの学習済みのモデルは、多くのデータから最もありえそうな単語の並びのパターンを学習しているといえる。 なので文法的に間違っている場合など不自然な位置に単語があったりすれば、その単語の出現確率は低く出るはず。 ということで簡単なスクリプ…

haskellでちょっとした処理のメモ

久しぶりにhaskellを触ったので、その際に調べたtips的な処理についてメモ リストのslice https://stackoverflow.com/questions/4597820/does-haskell-have-list-slices-i-e-python slice :: Int -> Int -> [a] -> [a] slice from to xs = take (to - from +…

nix環境でhaskellのprojectをビルド

久しぶりにhaskellを触った際によくわからなくなって調べたのでメモ とりあえずビルドしたいときのチートシート的にまとめておく 基本的にこちらに書いてある通り Getting Started Haskell Project with Nix | MaybeVoid nixはinstall済みだったが一応 ghcと…

UnityWebRequestでローカルファイルをコピーしたらサイズが0になる

UnityWebRequestによってローカルのファイルを別のパスへコピーできる 例えばstreamingAssetsをpersistentDataへコピーする場合は以下のような処理 var src = $"{Application.streamingAssetsPath}/src.bytes" var tgt = $"{Application. persistentDataPath…

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

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

transformerを理解するため実装してみる(実データで学習)

以前copy taskまで実装したものについてまとめた transformerを理解するために実装 - MEMOcho- 今回はそれを実際のデータで学習するところを実装したのでメモ 目次 sentenceのtoken化 長過ぎる文を削除 fp16対応 colabでの学習 評価指標 実行結果 seq2seq tu…

複数のファイルから同じ行を消す

機械翻訳用のデータは言語毎にファイルは別になっていて、文同士の対応は行番号が同じことによって保たれている 例えばこんな感じ # ja.txt こんにちは 私はテニスが好きです 私はペンを持っています # en.txt hello I like tennis I have a pen これをtoken…

別のPCにちょっとしたものを共有したいとき

家にあるPCで作業しているとき、もう一台のマシンでちょっと前に打ったコマンドをそのまま使いたいことがあった。 メールやチャットで自分宛てに送ればそれでOKだが、一旦外を通って戻ってくるというのがなんだか無駄に感じてしまったためマシン間で直接やり…

transformerを理解するために実装

自分の勉強のためにtransformerを実装してみたので引っかかったところなどメモ 実装の参考にしたのは主にこの3つ http://nlp.seas.harvard.edu/2018/04/03/attention.html pytorchによる実装ともに論文の流れに沿って解説 learning rateのscheduleなど細かい…