PyTorchのDataLoaderで動画を並列化して読み込むためのハック
4.4k{icon} {views} 動画の前処理はフレーム単位の画像処理をするためとても重いですが、特にOpenCVで動画を読み込む場合、OpenCVの特性上並列化が難しいという面倒くさい状況に遭遇します。この記事では […]...
PyTorch lightningのCSVLoggerを攻略する
3.6k{icon} {views} PyTorch lightningのロガーとしてTensorBoardがデフォルトですが、出てきた評価指標を解析するとCSVでロギングできたほうが便利なことがあります。lightni […]...
PyTorch LightningのGPU訓練で「RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same」と怒られた場合
9.2k{icon} {views} PyTorch LightningはGPUで訓練しても「.to(device)」のようなデバイス指定をしなくていいのが売りですが、「デバイスが異なる」と怒られてハマってしまったので、 […]...
Windows11+WSL2でGPUのPyTorchを最低限動かすためのオレオレDockerfile
3.6k{icon} {views} Windows11+WSL2でGPU対応のPyTorchのDockerイメージを1から作る方法を紹介します。CUDAとCuDNNはDockerhubで公開されているnvidiaのイメ […]...
Windows11でWSL2+nvidia-dockerでPyTorchを動かすのがすごすぎた
30.4k{icon} {views} Windows11にはWSL2があり、Linux環境からGPUありのPyTorchを動かすことが可能です。WSL2経由のほうがWindowsネイティブよりも訓練速度が倍になります。 […]...
Albumentationsとtorchvisionで前処理の挙動を揃えたい
6.5k{icon} {views} AlbumentationsとtorchvisionのToTensorは微妙に挙動が異なります。テンソル化の前処理を揃えないと精度が下がることがあるので、その検証をしていきたいと思い […]...
SwinTransformerで転移学習(EfficientNet/ResNet50との比較)
8.5k{icon} {views} Swin Transformerを転移学習してみます。1から学習させる場合と異なり、そこまで強いData Augmentationをかけなくても訓練は安定します。訓練済み係数も含め、 […]...
Cosine DecayとWarmupを同時にこなすスケジューラー(timm使用)
16.6k{icon} {views} 学習初期は徐々に学習率を上げていく「Warmup」と、学習率をなめらかに下げていく「Cosine Annealing」を1つのオプティマイザーとして楽に実装する方法を、timmライ […]...
PyTorchでSliced Wasserstein Distance (SWD)を実装した
4.1k{icon} {views} PyTorchでSliced Wasserstein Distance (SWD)を実装してみました。オリジナルの実装はNumpyですが、これはPyTorchで実装しているので、GP […]...
PyTorchで画像を小さいパッチに切り出す方法
13k{icon} {views} PyTorchで1枚の画像を複数の小さい画像(パッチ)に切り出す方法を紹介します。TensorFlowだとtf.image.extract_patchesにあたる処理です。 torch […]...