PyTorch
PyTorchのC++ APIであるLibTorchのTensorとOpencvの行列を相互変換する方法. torch::Tensor -> cv::Mat torch::Tensorをcv::Matに変換する例 例えば,128x128の1ch行列を変換するには以下のようにする. cv::Mat mat(128,128, CV_32FC1, tensor. template d…
PyTorchの便利な周辺ライブラリのメモ. CV系 NLP Audio 確率的プログラミング 可視化 その他 チュートリアル,入門など (adsbygoogle = window.adsbygoogle || []).push({}); CV系 torchvision: コンピュータビジョンで便利なtransforms, モデル,データセ…
Mac OSでPyTorchのC++ APIのコードを実行しようとすると以下のエラーが出る. dyld: Library not loaded: @rpath/libmklml.dylib Referenced from: /Users/hzq/Documents/www/test/libtorch/lib/libcaffe2.dylib Reason: image not found Abort trap: 6 libm…
pytorch-summaryを使うとKerasのmodel.summary()のようにモデルの表示ができる. GitHub repo Keras has a neat API to view the visualization of the model which is very helpful while debugging your network. Here is a barebone code to try and mimi…
PyTorchで各レイヤーごとに違うLearning Rateを設定する方法. 例として,以下のようなネットワークを想定する. class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(784, 128) self.fc2 = nn.Linear(128, 256) s…
jupyter notebookでC++を動かすカーネルであるxeus-clingとPyTorchのC++ APIであるlibtorchを利用して,jupyter notebook上でPyTorchをC++から使ってみる. (adsbygoogle = window.adsbygoogle || []).push({}); 準備 LibTorchのインストール はじめに,PyTo…
Grad-CAMはConvolutional Neural Networksの可視化手法の一種.CNNが画像のどの情報を元にして分類を行なっているのかを可視化するのに用いられる. Arxiv Project page 今回はこのGrad-CAMをPyTorchで試してみる. (adsbygoogle = window.adsbygoogle || []…
今回はPyTorchのC++ APIでGPUを使った学習と推論を試してみる. (adsbygoogle = window.adsbygoogle || []).push({}); GPUの使い方 C++でGPUが使えるかどうかは,以下のように確認できる torch::cuda::is_available() ここはpythonとほとんど変わらない GPU…
PyTorchのC++ APIで自作のデータセットの定義の仕方を紹介. 今回は以下のようなデータセットを作る, データセットクラス:ImageDataset(root, labelfile) 画像が格納されたルートディレクトリ:root 画像は以下のように格納 $ tree test_data/ test_data/ …
PyTorchの自作モデルをTorch Hubに登録してみる. GitHub repo hubconf.pyの設置 以下のようにhubconf.pyをレポジトリの直下に設置する. # -*- coding: utf-8 -*- from models import MobileNet_v2 def mobilenet_v2(pretrained=False, *args, **kwargs): m…
PyTorchではC++ APIが提供されている. pytorch.org (adsbygoogle = window.adsbygoogle || []).push({}); 多層パーセプトロン版 ビルド $ mkdir build $ cd build $ cmake .. $ cmake -DCMAKE_PREFIX_PATH=/absolute/path/to/libtorch .. $ make #include <torch/torch.h> </torch/torch.h>…
Torch Hubは研究の再現性のために,PyTorchのpre-trained modelの共有のための機能. https://pytorch.org/docs/master/hub.html hubconf.py 以下のフォーマットでentrypointを定義する entrypointはPyTorchのモデルを返す関数 def entrypoint_name(pretrain…
GANsの学習フレームワークの中に明示的にラベル情報を入れるConditional GANsをPyTorchで実装してみる. Conditional Generative Adversarial Nets paper link モジュールのインポート 必要なライブラリをimportしておく ちなみにjupyter notebookの場合は f…
PyTorchを用いて分類器に対する攻撃手法であるAdversarial Attackを実装してみる. これは,分類器に対して故意に誤分類を誘発させるような画像を生成する攻撃手法である.例えば, 自動運転車に対する標識の誤検出の誘発 顔認識システムの第三者による誤認…
PyTorchと,確率的プログラミングフレームワークであるPyroを用いてベイジアンニューラルネットワークを試してみる. Pyro Uber AI Labsによって開発が行われている github link blog post Pyro is a flexible, scalable deep probabilistic programming lib…