競技プログラミングについて

この投稿はrioyokotalab Advent Calendar 2020 25日目の投稿です。 adventar.org 競技プログラミングとは 競技プログラミングとは、全年齢対象のオンラインゲームのジャンルの一つである。定期不定期期間問わず開催されるコンテストにて他の参加者と競い合い…

交差検証の使い道

この投稿はrioyokotalab Advent Calendar 2020 24日目の投稿です。 adventar.org 交差検証法 機械学習をやる上で、検証は最重要の技術だと言えます。検証を行うにあたって、よくあるのが、データセットの一部をテストデータとして検証に回すというのがありま…

個人的 Neural おもしろ Network

この投稿はrioyokotalab Advent Calendar 2020 23日目の投稿です。 adventar.org 勾配法の発展 深層学習は最近では主に画像分類の分野において今までの機械学習では達成できなかったような精度を出せるようになっています。それを達成したのは勾配法というた…

サウンド系の深層学習に使うtorchaudio

この投稿はrioyokotalab Advent Calendar 2020 21日目の投稿です。 adventar.org サウンド系の機械学習 PyTorchを使ってなにかするとなると、なぜか多くの人は画像をどうにかしようとしがちな気がします。特にブログとかでやってみた的な記事だとその傾向が…

pytorchのnon_blockingという機能が使えると思った

この投稿はrioyokotalab Advent Calendar 2020 19日目の投稿です。 adventar.org デバイス転送部分がボトルネックになる可能性 PyTorchのCUDAで動作する部分は非同期で動いてくれるらしいです。[要出典]なので、特に何も意識しなくても、データの読み出しと…

ゼロ割が見つからない時のNaNの原因

この投稿はrioyokotalab Advent Calendar 2020 17日目の投稿です。 adventar.org 深層学習中最悪のバグ 深層学習の学習コードを何度も自前で組んでいるといつか出くわすNaN。時に再現性が無かったり、再現するのに1時間かかったり、ひたすらにプログラマの頭…

CSVが遅かったらfeather形式で読み込もう

この投稿はrioyokotalab Advent Calendar 2020 15日目の投稿です。 adventar.org とりあえずCSV 機械学習においてデータというのは、切っても切れない関係にあります。データを管理する形式はいくつかあります。画像データであれば、 ラベル情報をファイル名…

nn.DataParallelを使えばデータをdeviceに送らなくていい

この投稿はrioyokotalab Advent Calendar 2020 13日目の投稿です。 adventar.org nn.DataParallel PyTorchでマルチGPUを使った機械学習を行いたい場合、 nn.DataParalllel DistributedDataParallel の二種類の方法があります。 DistributedDataParallelはマ…

Jupyter Notebookを非インタラクティブに実行する

この投稿はrioyokotalab Advent Calendar 2020 11日目の投稿です。 adventar.org リモートサーバーのJupyter Notebookを長時間動かしたい Jupyter Notebookは リモートサーバー上に配置したデータをダウンロードすることなく操作できる インタラクティブに実…

Weights & Biases と pytorch-pfn-extrasをくっつけたら最強なんじゃないかと思った

この投稿はrioyokotalab Advent Calendar 2020 9日目の投稿です。 adventar.org 実験のトラッキング 深層学習の学習コードを動かすにあたって、学習の経過を確認したり、複数の学習の結果を比較したりといったことは、学習アルゴリズムの改善を行うにあたっ…

pytorch-pfn-extrasが便利という話

この投稿はrioyokotalab Advent Calendar 2020 7日目の投稿です。 adventar.org 実験ログをきれいに取りたい PyTorchでコードで学習コードを書いた時の悩みの一つ。それは、ログの取り方だと思います。取りたい情報は損失、学習ステップ、学習率など、様々で…

PyTorchのテンプレコードを用意してどんなデータセットにも楽々ディープラーニング

この投稿はrioyokotalab Advent Calendar 2020 5日目の投稿です。 adventar.org PyTorchは自由すぎる PyTorchは自動微分ライブラリとしての側面が強く、一方で中途半端に深層学習としての機能を提供しているため、コードが書く人によってまちまちになりがち…

Rank Gaussという正規化手法

この投稿はrioyokotalab Advent Calendar 2020 3日目の投稿です。 adventar.org Rank Gauss Kaggleでは良く知られているRank Gaussという正規化手法について紹介します。RankGaussは2017年のKaggleコンペ"Porto Seguro’s Safe Driver Prediction”で提案され…

Jupyter Notebookのジョブ実行 on ABCI

この投稿はrioyokotalab Advent Calendar 2020の投稿です。 adventar.org Jupyter NotebookをABCI上で使いたい 公式の方法はこちら Jupyter Notebookの利用 - ABCI User Guide Jupyter Notebookは便利なもので[要出典]、ABCI上に立てれば、強力な計算資源の…

AtCoder Grand Contest 045 - A. Xor Battle 解法ログ

AtCoder Problemsの青diff埋めをしていたら、AGC045 - A. Xor Battleに手がつけられなくて、解説pdfや解法ブログを読んでも解法の理解に時間がかかったので、解法にたどり着くまでの記録をまとめます。