Bag of ML Words

ML = Machine Learning, Music Love, and Miscellaneous things in daily Livings

VS CodeでGUIなjuyputer notebook + WSL interpreter

が使えるよっていう。なんと、WSL2のターミナルからVSCodeを起動できる。そして、VSCodeがjupyter notebookをサポートしてる。 参考 aadojo.alterbooth.com 前提 VSCode: python plugin, remote development pluginをインストールしておく(普通してる) WSL…

Texの章の出方をかえる

\appendix\def\thesection{Appendix~\Alph{section}}\def\thesubsection{\Alph{section}.\arabic{subsection}} こうすると、sectionは Appendix A, Appendix B, ...ってなって subsectionは A.1, A.2,..., B.1, B.2, ...ってなるってtexじいさんが言ってた!

今はpyenv + pipenv!

virtualenvとかcondaとか使わなくなったらしいよ。。。 ちょっと使ってみましたが、たしかにpipenvわかりやすいです。どこでもなんでもpipenv install でディレクトリごとの仮想環境がつくれて、pipenv shellで仮想環境立ち上げて、pipenv installで仮想環境…

Zoteroの使い方(我流、逐次更新)

Mendeley+DropBoxで運用していたんですが、PC移行のときから調子が悪くなったのでずっと乗り換えたいと思っていました。 で、Twitterで相談したら、"Zoteroいいよ"ということなので、早速導入始めています。 自分の導入過程のメモ書きも兼ねているので、逐次…

今更だけど、chaier trainer + optunaで探索枝かりするとき

chainer.org こんなのが出た直後でなんですが、OPTUNAは今後も開発継続されます! で、まあchainerはわかりやすいしdocもかなり充実してるので、メンテナンスモードはいってもしばらくは使われると思います。 そこで、chainer + optuna prunerの使い方。 opt…

ばっどのうはう:np array(とくに三次元以上の多次元配列)のリスト、これをnp.arrayしても通らないときは、swapaxesしてみると通ることがある

完全にバッドノウハウだけど現象としてはわかっている。n=1,2,3,...N個の多次元np arrayがリストになっていて、 n番目の多次元配列の次元がD x l_n x l_nである。 つまりどのn番目のnp.arrayも最初の次元のサイズはDで一定で、二次元目三次元目がn依存のサイ…

Dockerつくったらscreenが動かないとき

screenすると、 /var/run/screen のパーミッションが悪いといわれる。 そういうときは、SCREENDIRを作るといいよ。 こんなのを.bashrcや.zshrcに書いておくか同等の作業を実施する #### safety for screen###if [ ! -d /home/me/.screen ]; then mkdir /home…

docker pushがTimeoutで死ぬとき!

dockerのsettig-->Proxyで、DNSをautomaticからfixed 8.8.8.8にすると治ることがあるよ

Dockerfileの中でファイルやディレクトリ作るとownerがroot:rootになっちゃうのが嫌な時・・・

COPYコマンド(ADDよりはCOPYのほうがいいらしい)でchownオプションがつけられるよ! COPY --chown=[user name]:[user name] from_dir_path_in_local to_dir_path_in_container

ディレクトリ数、ファイル数を再帰的に数える

ファイル数 find <directory> -type f | wc -l ディレクトリ数 find <directory> -type d | wc -l</directory></directory>

Chainerでlearning rateを任意に操作

qiita.com これに書いてあるとおりですが、やり方わかって実際動いたので貼ってみる。 class LrScheduler(extension.Extension): trigger = (1, 'epoch') def __init__(self, base_lr, epochs, optimizer_name='main', lr_name='lr'): self._base_lr = base_…

自分のファイルのパスを取得(python)

current_dir_path = os.path.abspath(os.path.dirname(__file__)) これで、当該実行ファイルの位置を取得できるので libraryのツリー内の好きなファイルを見に行けるぞ

Chainerで訓練の半自動再開(resume semi-automatically)

会社的に推奨されたので、適当にsnapshotとってresumeする仕組みを実装した。 やりかったことは 適当なタイミングでtrainerのsnapshotをとって、そこから学習再開できるようにする chainermnだとmaybe_loadという便利関数があってiteration数とか解決してく…

pycharmのdocstring形式

こんなの常識らしいのだけど、知らなかったので。。。 pycharmのsettings --> Tools --> PYthon intergrated toolsの中で、Docstringsのフォーマットを選べるよ。reStructedTextがデフォルトらしいけど、numpy formatやgoogle formatの人が多いらしい。 goog…

Dockerfileでsourceを使う。というかbashを使う for installing chainer-cv

Dockerfileの中だとsourceコマンドが使えないというのは良く知られた話のようで、それはDockerfileの中ではシェルがbashではなくてshだから。 で、chianer-cvのインストール Installation Guide — ChainerCV 0.11.0 documentation のところを見ると、source…

natbib on arxiv...

ご無沙汰しています。 すっっっっっっっっっっっっごく久しぶりに論文を投稿したのですが、例によってarXivでのコンパイルエラーで苦しみました。 というか、bibの部分。 Error: Bibliography not compatible with author-year citations. これ。生成されたb…

dockerの使い方

これも恥ずかしいけど、基本的なところから イメージを作成する Dockerfileのあるディレクトリで? docker build -t [image name] [path to save image?] ログインしないで、取得したイメージでコンテナを起動、則コマンドを実行する docker run [image name…

git(hub)の使い方 自分用メモ(随時修正)

恥ずかしい気もするけど間違えるよりはずっといい。 これもメモしていかないと・・・ レポジトリやブランチをもらってくる系の操作 レポジトリをコピー(clone)してくる git clone <.git アドレス> 特定のブランチをコピー(clone)してくる git clone -b <branch name> <.gi</branch>…

git submoduleの自分用メモ書き

git submoduleはほかのレポジトリの「特定コミット」を自分の内部の構成要素にする仕組みで、大きいものを作るときや、各要素が複雑enoughな時に役立つっぽい。 基本の理解 submodule内のレポと本体のレポは別物 本体としてはsubmoduleのコミット番号のみを…

zsh on Ubuntu on Windows Subsystem for Linux

WSLのデフォルトシェルはバッシュなんですけど、やっぱzsh使いたいよねぇとか、あとWSLならではの設定とかいろいろここ1か月苦労していたので、メモを残しておきましょう。 随時修正ってことで。 zshでしょ まあ、これは普通にzsh入れればいいんですが、普…

Lapack for Torch

ちょっとSVDが必要だったのでtorch.svdをしたら"LAPACKがないよ"と怒られました。 torchの線形代数ライブラリはLapackをラッパしているだけなので、そもそもコンパイル時にLapackがないとだめ。 ということでOpenBLASをインストールする。 git clone https:/…

2つのファイルの共通業を抽出するワンライナー

たびたび使うので。 grep -x -i -f file1 file2 以下のQiita記事に書いてありました! qiita.com

Installing CUDA9 + CuDNN7 + Torch on CentOS 7 (Japanese post + English post)

このポストの目的 下記の自著記事を基にして、CUDA8 + CuDNN5.1はinstallした計算機があります。 今度はこのマシンのCUDA, CuDNNを更新します。 dr-kayai.hatenablog.com Purpose of this post: update the CUDA (8 --> 9) and CuDNN (5 -->7) on CentOS 7. …

OpenNMT-py "raise lengths array has to be sorted in decreasing order"

まだクローズしていないバグを踏んでちょっと時間をとられたので情報共有です*1 OpenNMT-py, 正確にはtorchtext-0.20の修正のせいで、いま、最新のOpenNMT-pyをgitダウンロードで使うと、train.pyやtranslate.pyが表題エラーの通りに死ぬ事象が起きています…

slack webhookでログをslackに自動投げ込み

webhookなる仕組みを使って、slackにcurlで直接メッセージを投げ込むことができるらしい。これ使えば、入力フォームから誤訳文対が報告されるたびにslackに投げてみることができるっぽい? api.slack.com とりあえずslackの公式APIページを見ると使い方が一…

Webサーバー構築(Apache+PHP) の練習

ちょっとお仕事で *AWS上のインスタンスを用いて *既定の入力フォーマットでいろいろな人から入力を集めて *入力結果を保存して *AWS S3やslack botに入力結果の保存内容を投げる ということがしたくなったので、webサーバを構築してみる AWSインスタン…

小技:linuxでn行おきに何かしたいとき

awk使うマン! # 3行おきに出力 cat file.txt | awk '(NR%3==0){print}' # 10行おきに改行入れる cat file.txt | awk '(NR%10==0){$0=$0"\n"}{print}' qiita.com

読みました:年収は「住むところ」で決まる ─ 雇用とイノベーションの都市経済学

shoeihidoさんの sla.hatenablog.com に触発されて、「年収は「住むところ」で決まる-─-雇用とイノベーションの都市経済学」 を買って読んでみました。 結論:かなり面白かったです。読む価値あります。 すらさんありがとう!良い本に出合いました! だいた…

Installing CUDA8+CUDNN5.1+Torch on CentOS7 (Japanese/English mixed post)

ほぼ真っ白なCentOSだとあまり情報がないので、自分用のメモもかねて忘れないうちに。 I found there are few posts about CUDA8 + GPU-enabled Torch on 'vanilla' CentOS. Hope this post helps somebody... 基本ライブラリ群のインストール (Installing v…

C++学習記(5): boost mpi (+openmpi) on multiple CPUs (machines)

Boost MPIに複数コア分散計算のお仕事は終わったので、いよいよ複数マシンによる盛大な負荷分散をやろうと思う。 簡単じゃない?簡単じゃない hostsを指定するファイルを作って # nodes_for_MPI.txt host.1.xx.yyy cpu=4 host.2.xx.yyy cpu=2 mpirun起動時に…