cv2.rectangleのBounding Boxの指定でハマった
4.5k{icon} {views} OpenCVのrectangleはBounding Boxを描画する際によく使う関数ですが、引数の数によって座標指定のフォーマットが違います。これを知らなくてえらいハマったので忘備録 […]...
NumPy関数だけでTopKを求め、多次元のインデックスをスライスするための方法
3.5k{icon} {views} NumPy関数を使って多次元配列のTopKを求める方法を検証します。PyTorchの関数を使えば簡単にできますが、NumPyだけで行う場合は工夫が必要です。いつも忘れるので自分用忘備 […]...
PyTorchのDataLoaderで動画を並列化して読み込むためのハック
3.9k{icon} {views} 動画の前処理はフレーム単位の画像処理をするためとても重いですが、特にOpenCVで動画を読み込む場合、OpenCVの特性上並列化が難しいという面倒くさい状況に遭遇します。この記事では […]...
PyTorch lightningのCSVLoggerを攻略する
3.2k{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」と怒られた場合
8.3k{icon} {views} PyTorch LightningはGPUで訓練しても「.to(device)」のようなデバイス指定をしなくていいのが売りですが、「デバイスが異なる」と怒られてハマってしまったので、 […]...
argparseのハイフン置き換え仕様でハマった
3.1k{icon} {views} argparseではハイフンのコマンドライン引数をアンダーバーに置き換える仕様があります。これはPythonの言語仕様の都合によるものですが、思わぬハマり方をしたので自分のメモ用に書 […]...
Windows11+WSL2でGPUのPyTorchを最低限動かすためのオレオレDockerfile
3.3k{icon} {views} Windows11+WSL2でGPU対応のPyTorchのDockerイメージを1から作る方法を紹介します。CUDAとCuDNNはDockerhubで公開されているnvidiaのイメ […]...
Windows11でWSL2+nvidia-dockerでPyTorchを動かすのがすごすぎた
28.5k{icon} {views} Windows11にはWSL2があり、Linux環境からGPUありのPyTorchを動かすことが可能です。WSL2経由のほうがWindowsネイティブよりも訓練速度が倍になります。 […]...
Albumentationsとtorchvisionで前処理の挙動を揃えたい
5.2k{icon} {views} AlbumentationsとtorchvisionのToTensorは微妙に挙動が異なります。テンソル化の前処理を揃えないと精度が下がることがあるので、その検証をしていきたいと思い […]...
SwinTransformerで転移学習(EfficientNet/ResNet50との比較)
8k{icon} {views} Swin Transformerを転移学習してみます。1から学習させる場合と異なり、そこまで強いData Augmentationをかけなくても訓練は安定します。訓練済み係数も含め、ti […]...