プログラミング

【Python】PytorchモデルからONNXモデルへの変換方法【Mask R-CNN】

PythonでDeep Learningを学習させる場合はPytorchを使用される方が多いと思いますが、Pytorchで学習させたモデルをPytorch以外のフレームワークで推論させたい場合があると思います。そんな時に便利なのがONNXと...
プログラミング

【OpenCV】cv::Matとunsigned char*の相互変換

OpenCVのcv::Matクラスとunsigned char*の相互変換についてです。画像の入出力にOpenCVを使って画像処理自体は配列を直接操作したい場合があると思います。そのため、今回はcv::Matクラスと配列(符号なし8bitデ...
プログラミング

【C++】EigenのMatrixクラスの初期化方法

今回はEigenのリファレンスを参照してMatrixクラスの初期化方法についてまとめました。1. MatrixクラスMatrixクラスは行列を格納するためのクラスで、クラステンプレートとして以下のように定義されています。class Eige...
PC

【Windows 11】画面の上に出てくるやつを消す方法【スナップレイアウト】

Windows11の小ネタです。Windows11を使っている方、エクスプローラーやブラウザをマウスでドラッグして画面の上まで移動したときに出てくるこれ、邪魔じゃないですか?今回は設定でオフにする方法をご紹介します。1. スナップレイアウト...
環境構築

【C++】OpenCV+Visual Studio 2022の環境構築

今回はOpenCVをVisual Studio2022で使用できるように設定していこうと思います。最近は「OpenCV」で検索してもPythonの記事ばかりですがここではC++版の環境構築について解説します。1. OpenCVのダウンロード...
環境構築

C++版PyTorch「LibTorch」の環境構築【Visual Studio】

Deep Learningを実際に使う場合はやはりライブラリに頼ることになると思うのでこちらの学習もしていこうと思います。特に最近は「PyTorch」と呼ばれるライブラリがメジャーだと思います。PyTorchはこちらのサイトからダウンロード...
環境構築

Visual Studio 2022のインストール【Windows11】

約1年ぶりの投稿になります。今更ですがVisual Studio 2022のインストールについて解説します。今使用しているのはVisual Studio 2017なのでこの機会にインストールしました。1. ダウンロードまずは下記のサイトから...
プログラミング

【C++】Mnistデータセットを読み込みEigenで扱う

Mnistは手書き数字画像とラベルデータをまとめたデータセットで機械学習の性能評価などによく利用さます。Deep Learningの入門書ではPythonで扱われることが多いのですが、今回はC++で読み込みEigenで扱う形式に変換してみた...
プログラミング

【C++】ソフトマックス関数を実装してみる

今回はニューラルネットワークの出力層でよく使われる「ソフトマックス関数」を実装してみる。1. ソフトマックス関数ソフトマックス関数は以下の式で表される。\この式は出力n個に対してk番目の出力\(y_k\)を求めています。ソフトマックス関数は...
プログラミング

【C++】シグモイド関数を実装してみる

「ゼロから作るDeep Learning」という本を買ったのでこの本を参考に勉強していこうと思います。Pythonのソースコードもついているので参考にします。1. 活性化関数ニューラルネットワークは層を重ねることで非線形の問題も解くことがで...