torchvisionのtransformsはお手軽にdata augmentationができとても便利です。是非使い込んでほしいので、簡単な例を示しておきたいと思います。 公式ドキュメント TRANSFORMING A […]
PyTorch
torch.squeeze()よりtorch.view()が安心だった話し
torch.squeeze()を使う機会って場当たり的にやってきませんか ? これを計画的に使いこなしている人がいるとしたら、尊敬します。torch.unsqueeze()はまだ必要に応じて使っている感がありますが、to […]
PyTorchで突然malloc(): invalid next size (unsorted)が出たときの対処
さまざまなデータセットを複合的に利用するケースがあったのですが、その場合たった3つのデータセットでさえA, B, C, A+B, A+C, B+c, A+B+Cと7通りの組み合わせでトレーニング –> […]
学習中にexit code 137 (SIGKILL)が発生したときの対処
引き続きPyTorch LSTMを使って学習したときに発生した問題の紹介です。シンプルなLSTMでは発生していなかったのですが、グラフの規模が大きいシステムを扱ったとたんにハマりました。結果的には初歩的なミスだったのです […]
torch.viewも気をつけて使おう !
numpy.reshapeは気をつけて使おう ! の続きです。この記事の最後でも触れましたが、torch.viewも同様なわけですと言ってるそばから間違っていたという話しです。しかも学習という意味でデータ構成が大きく間違 […]
kernel_initializerって学習の収束に大事かも
例によってKerasからPyTorchへのお引越しでプチハマったことがあったのでまとめておきます。 Kerasでは学習が簡単に収束したのに、同じようにプログラムを組んだつもりでもPyTorchでは簡単には収束しない(ある […]
numpy.reshapeは気をつけて使おう !
KerasからPyTorchへの乗りかえの一環で数日ハマっていたのですがようやく抜け出せました。終わってみれば大したことではなかったのですが、Kerasで一旦動作しているという気のゆるみが誘発したケアレスミスでしたね。こ […]
PyTorchでclass_weightを適用するには
バランスの取れたデータセットが常に用意できればよいのですが、ラベルごとにデータの数がばらついてしまうことはよくあります。 そんなとき、Kerasだとclass_weightを用意してmodel.fit()の引数に適用すれ […]
PyTorchで学習済みモデルの中間層出力の取得
学習済みモデルの中間層出力である特徴量を取得して、別の学習器に適用したいことってありますよね ? Kerasでは出力を再定義([probability] -> [probability, features])して […]
torch.tensorとtorch.Tensor
新参者は歴史的な経緯を知らないので少しはまりました。Floatゼロ値のスカラーテンソルを作りたかっただけなのですが、torch.Tensor(0.) だとダメで正解は torch.tensor(0.) だったというお話し […]