たれぱんのびぼーろく

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

2020-01-01から1年間の記事一覧

NeuralArticulatorySynthesis

Welcome to the NeuralArticulatorySynthesis wiki! Past researches before Deep learning Robust Articulatory Speech Synthesis using Deep Neural Networks for BCI Applications (2014) Data driven articulatory synthesis with deep neural networks …

Datasetの保存と圧縮

前提: CorpusとDatasetの分離 Datasetはそんなに長く持つものじゃない Corpusと違って公開するものでもない 何かあればCorpusからいつでも作り直せる 音声にzipで圧縮したら3割くらい減る 10GBのdatasetをzipで持って-3GB 転送量が減るメリットはある <= 日…

統計と機械学習

統計: 確率 機械学習: 手続き 統計 p(x|θ) 機械学習 f(x;θ) & θ ⇦ g(f, X, θ) 統計的機械学習はfがpと関係してるモデル. 確率論に基づいた学習理論が使える (e.g. MLE) 学習ではなく確率モデル汎化誤差の振る舞いに注目する統計学の分野や、確率関係なくヒュ…

fsspecのZipFileSystem速度

素のファイルアクセスと比較して50%くらいのオーバーヘッドあり ただし最適化の余地あり 計測環境 Google Colab 処理 PyTorch.Tensorのload & processing PyTorch.Tensorをファイルに事前保存. load→ Tensor*2.0を数十ファイルに対して処理、これを1000ルー…

Energy-Based Model

Energy-Based Model: "不安定さ"に相当するEnergyを確率変数に割り当てるモデル. エネルギーから確率を得たり、確率変数間のエネルギー比を計算したりして使う. 確率として扱う場合は確率密度関数をボルツマン分布とする. ボルツマン分布はポテンシャル関数…

VQ-VAE audio (Oord, 2017)

4.3節がaudio. official samples Architecture Encoder [Conv1d (k4, s2)] x61 情報量: ±16msecのhalf-overlap Decoder DilatedConv, similar to WaveNet dilated convolutional architecture similar to WaveNet decoder The decoder is conditioned on bot…

確率変数に対する演算の難しさ

given x ~ p(x) y = f(x) E(•): Expectation then E(y) = sum(p(x) * y) xが有限で少数の場合、計算してΣすればいい xが有限で多数の場合、計算量が凄いことになる xが無限個の場合、計算してΣは出せない xが連続の場合、∮の解析解を出しうる (一般には成立…

経営が行き詰まるパターン/失敗集

レバレッジの逆流による窒息 政商と規制緩和 going concernを忘れ長期的な破滅 レバレッジ いろんな形のレバレッジがあるのが罠 土地を担保に土地を買って担保にする 「商売するための用地買ったった。次の店建てるためにこの土地を担保に入れて次の土地買っ…

AuthZ for container system in AWS

ExecutionRoleArn authZ for docker command authZ for Amazon ECS container agent TaskRoleArn/JobRoleArn AuthZ for containerized app authZ for container outbound AWS API calls https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/Use…

自動リトライ/auto retry

Jobの中断と復帰 Preemptible利用とか 要件 resume read先がnullの時にerrorじゃなくてfrom scratch処理できると実装が楽 auto healing

状態の復元(restore・load)

状態を復元する: restore/load states 状態の読み込み/read states (files) local/remote 対応形式 失敗時の対応 エラー fail properly -> from scratch 状態の適用/ load? restore? apply? states 例 Python PyTorch-Lightning (DeepLearning framework's w…

隔離環境/isolated environment

"isolated environment" Docker provides the ability to package and run an application in a loosely isolated environment called a container. Docker Overview 手法 Container: Docker Python: venv, virtualenv, pipenv, poetry Node.js: nvm, nvm-wi…

金融

金融: 資金を融通する 最高の顧客 貸付金利を固定n%、金融業者の資金を¥mとする。 常時最大資金mを金利nで貸付られれば、最高効率。 最高の顧客は「元金返済が確約され」「利子だけ払い続ける」顧客。 即座に返済されると新しい顧客を探さなきゃいけないので…

S3アクセス抽象化

ファイルシステムアクセスに抽象化。 fsspec -> S3Fs -> botocore

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の意図みたいだけ…

説明責任に耐えうる構造

機動力と責任の両立 発言責任者の明示とその立ち位置の明示 ローカルで速度優先ならローカル担当者名/肩書で速報を出す 責任重視ならCEO名で各言語翻訳付きで出す 説明内容 隠すようなムーヴは100%広がるうえに「隠した」というレッテルを張られる レッテル…

やっといた方がいいことをシステムに組み込む

動いているシステムに差し込むイメージ. ぽんっと置いといても、勝手にそれが進むことはほとんどない.

生産法

生んで選ぶ 決めて生む 生んで選ぶ 良いものができる保証は無いが、たくさん産めばいいものを選べる可能性はあがる 多産多死 決めて生む 決めたものがきっちりできるが、決めたものがおかしいとおかしいものが生まれる 上の決めがおかしいとそれ以降はすべて…

MToon

ライティング調和型のトゥーンシェーダー. トゥーンシェーダ的な効果を付与しつつ、 PBR のシーンライティングと協調することを目的とします。 日本の手描きアニメ表現への特化はしません。 VRM1.0 spec draft VRM1.0で仕様書が作成されるみたい. ライティン…