旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

2019-01-01から1年間の記事一覧

【C#】ソート時のインデックスが欲しい

C#

C#でソートを行い、ソートした時のインデックスも欲しい時に以下で取得できることが分かったのでメモします。 var list = new List<int>() { 3, 2, 1 }; var sorted = list.Select((x, i) => new KeyValuePair<int,int>(x, i)) .OrderBy(x => x.Key); foreach (KeyValuePair<int,int></int,int></int,int></int>…

【OpenCV】楕円内部のみぼかしたい

cv2.Blur関数を使って画像をぼかしたいのですが、四角形ではなく円もしくは楕円形状でぼかしたいという状況です。 これはマスクを利用して実現可能なことが分かったのでメモします。 import cv2 import numpy as np def apply_ellipse_blur(image, x, y, hax…

【Python】データ拡張手法Mixupの擬似コード

PyTorchのカスタムデータセットにmixupをどう入れ込むかの擬似コードメモです。 # これをDatasetの__get_item__に入れ込めば良い def _apply_mixup(self, image1, label1, idx1, image_size): # mixする画像のインデックスを拾ってくる idx2 = self._get_pai…

【WPF】画像が小さい場合はそのままのサイズで表示して、大きい場合は縮小して表示したい

Imageコントロールに画像を貼り付けると大きい画像、小さい画像共に特定のサイズで表示されるのですが、表題のように表示したいと思っていたところ、そのようなプロパティがあることが分かったのでメモします。 Image1.StretchDirection = StretchDirection.…

【Keras】ArcFaceとUmapを使って特徴量を可視化する

ディープラーニングを用いたMetric Learningの一手法であるArcFaceで特徴抽出を行い、その特徴量をUmapを使って2次元に落とし込み可視化しました。KerasでArcFaceを用いる例としてメモしておきます。 qiita.com qiita.com 実装は以下を引っ張ってきました。…

【Keras】EfficientNetのファインチューニング例

EfficientNetはAutoMLで作成された、パラメータ数の少なさに対して精度が非常に高いモデルです。 OfficialのTensorflowの実装だけでなく、PyTorchやKerasの実装も早速公開されており、使い方を知っておきたく試してみました。 実施内容 EfficientNetをファイ…

【Keras】fit_generatorに使うgeneratorの雛形メモ

クラス分類用のfit_generatorに使うgeneratorの雛形をメモします。 画像が格納されているフォルダが以下のような構造であることを前提とします。 トップフォルダ class1フォルダ class1に属する画像ファイル class2フォルダ class2に属する画像ファイル 以下…

データ分析・AIのビジネス導入を読んでのメモ

書籍「データ分析・AIのビジネス導入」を読んだので、気をつけたいことを自分用にメモします。 失敗しない データ分析・AIのビジネス導入: プロジェクト進行から組織づくりまで作者: 株式会社ブレインパッド,太田満久,井上佳,今津義充,中山英樹,上総虎智,山?…

【Python】cv2.rectangleでのエラー"TypeError: an integer is required (got type tuple)"の対処方法

物体検出を行っていて、各クラスに色を割り当ててバウンディングボックスを描画したい、という状況でした。何故か修正前コードでは表題のエラーが発生し、修正後コードのような書き換えをしなければなりませんでした。本質でない部分に大分時間を使ったので…

【Python】KPSS検定で単位根の有無を調べる

以下の書籍を読んでて、単位根の有無を調べるのにKPSS検定を行うと書かれている箇所があります(pp.67)。 このPythonコードが欲しかったのでメモしておきます。 ちなみにKPSS検定の帰無仮説は単位根なし、対立仮説は単位根ありとなります。 時系列分析と状…

【C#】【Python】Pythonのprint文出力をC#側に表示したい

Processで起動したPythonプログラムの中で使っているprint文の内容をC#側に表示したいと考えました。 方法は以下の記事に書かれているようにProcessクラスのBeginOutputReadLineで可能です。 zawapro.com ただ問題はprint文の結果がC#側にリアルタイムで表示…

【Python】Siamese NetworkでMNISTの少量データ学習を試す

ディープラーニングは一般的に多くの学習データが必要とされますが、少量しかない場合にどれ位精度が落ちるのか気になり 実験してみようと思いました。そうは言っても普通にCNNに少量のデータを学習させても簡単に過学習しそうに思えるので、 少量のデータで…