たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

2020-10-01から1ヶ月間の記事一覧

ArgParse全体像

お仕事 argparseはHelp対応のパーサー/validator. argument list + grouping + default value + type cast + validation + help/print がざっくりしたお仕事. 使い方 ArgumentParserインスタンスを生成、add_argumentでargumentsを設定. .parse_xxで引数をパ…

機械学習コードの抽象化/透過処理

Checkpoint 前提: CheckpointのIOは無視できるほど小さい(爆速でCheckpointをread/writeするやつはいない) 学習開始時に pull checkpoint, 学習終了/中断時に push checkpointが必要. 抽象化をしない場合、remote->local checkpointダウウンロード、checkp…

GPU深層学習 in Container

登場人物は5人. GPU Kernel Mode Driver (nvidia.ko) CUDA User Mode Driver ("CUDA driver", libcuda.so) Docker CUDA Toolkit and Runtime ("CUDA Toolkit") cuDNN CUDA driver / CUDA Toolkit / cuDNNに気を使う事が多い。配置場所は以下の通り ref. Host…

Preemptible/Spotインスタンスで数日かかる機械学習Jobを走らせる

安いクラウドサービスを使って楽々機械学習! まとめ 機械学習ジョブを停止有り格安インスタンスで回せるやつを使う。 @2020-11-17 service scheduling auto-scaling auto-retry preemptible e.g. AWS Batch ☑ ☑ ☑ ☑ AWS SageMaker ☑ ☑ ☑ □ GCP AI Platform ☑…

GANの学習実装

実はハマりどころだらけだったりする。 Gを先にBackwardするとDの.gradが貯まる => "D先に学習" or "Gの学習時はD.requires_grad = false" or "D学習前にNetD.zero_grad()" D学習時にG(z)を渡すとGにまでBackpropして無駄 & Gの.gradが貯まる => "D(G(z).det…

GPUパフォーマンス for 深層学習

Cost/Performance of GPU for Mixed Precision Training GPU GCP price [\$/h] (vs T4) perf [TOPS] (vs T4) NVIDIA A100 0.--- (x-.-) 312.0 (x4.80) NVIDIA V100 0.740 (x6.7) 125.0 (x1.92) NVIDIA T4 0.110 (----) 65.0 (-----) NVIDIA P100 0.430 (x3.9…

Python iterable/iteratorの定義

iterable iterable1は自身のメンバーを1度に1つ返しうるオブジェクトである2。具体例はlist, str, tuple, dict, file obj, iterを実装するclassなどなど。 build-in関数のiter()に渡すとiteratorが返る。 iter()関数相当の操作を様々な言語機能が暗示的にサ…

pipでGitHubレポジトリをinstallする

最小手 build instruction (setup.py or pyproject.toml) があるGitHubレポジトリに対して pip install git+https://github.com/bkvogel/griffin_lim 以上。 pipとバージョン管理システム pipはバージョン管理システム/VCSからのinstallに対応している. 対応…

Python Buildとinstallの架け橋 - wheel -

wheelとは、ビルド済みパッケージのインターフェス/フォーマットである。 Specification PEP 427 -- The Wheel Binary Package Format 1.0 This PEP describes a built-package format for Python called "wheel". 背景 ライブラリの導入にはbuildとinstalla…

データのセットアップ・ロード in Python for 機械学習・ニューラルネットワーク

機械学習・ニューラルネットワークにおいて、データを用意・ロードすることは簡単そうに見えて難しい。 corpusのダウンロード・展開 データの前処理・保存 データセット(processed corpusの部分集合)のセットアップ datumのロード アクセス順・バッチ化 分…

PyTorch Lightning

datamodule LightningDataModuleはPyTorch Datasetの軽いWrapper. Train/Eval/Testの分割やDataset preparation & runtime setupなどを包括. moduleがやってくれる仕事はほとんど無くて、どうも分散環境だといいことがあるみたい. newしてtrainerにぼんっと…

低遅延クラウド接続

AWS Wavelength: 5Gの構内クラウドサービス(っぽい) localzones: AZ内にDCの物理配置が異なるサブzoneが新設。その分類名がlocalzones USだとAZが空間的にめっちゃ広いので都市近郊のlocalzonesにつなぎたくなる。 sub10msecがlocalzonesの意図みたいだけ…