PythonのMessagePack-Numpyで独自のクラスをシリアライズする方法
3.4k{icon} {views} MessagePackを使ってシリアライズを高速化したかったのですが、独自のクラスやネストされたオブジェクトについてシリアル化する方法が全然なかったので調べてみました。Numpyのシ […]...
keras_preprocessingを使ってお手軽に画像を回転させる方法
4.9k{icon} {views} Data Augmentationで画像を回転させたいことがあります。画像の回転は一般に「アフィン変換」と呼ばれる操作で、OpenCVやPillowのライブラリを使えば簡単にできるの […]...
Kerasでメモリ使用量を減らしたかったらmax_queue_sizeを調整しよう
14.4k{icon} {views} Kerasで大きめの画像を使ったモデルを訓練していると、メモリが足りなくなるということがよくあります。途中処理の変数のデータ型(np.uint8)を変えるのだけではなく、max_q […]...
One-Hotエンコーディング(ダミー変数)ならPandasのget_dummies()を使おう
54.3k{icon} {views} 特徴量処理(特徴量エンジニアリング)でよく使う処理として、「A,B,C」「1,2,3」といったカテゴリー変数をOne-Hotベクトル化するというのがあります。SkelarnのOne […]...
PandasのDataFrameでグループ別にサンプルをN個抜き出す方法
7.5k{icon} {views} 「PandasでGroupbyでグルーピングしたはいんだけど、そこからグループ別にサンプルを1個、2個…と抜き出す、SQLでよくやるやつってどうやるんだっけ?」ということが気になった […]...
KerasのCallbackを使って継承したImageDataGeneratorに値が渡せるか確かめる
3k{icon} {views} Kerasで前処理の内容をエポックごとに変えたいというケースがたまにあります。これを実装するとなると、CallbackからGeneratorに値を渡すというコードになりますが、これが本当 […]...
Pythonでxy座標上の2点間の距離をforループを使わずに計算する方法
34.3k{icon} {views} 機械学習でカーネル法やらクラスタリングをやっていると、何かと「2サンプル(点)間の距離」を計算することが多いです。ここではより一般的に「Pythonで2点間の距離をforループを使 […]...
Numpyの配列に対して「最も多く存在する値」を求める方法
20.4k{icon} {views} アンサンブル学習などで、Numpyの配列のある軸に対して「最も多く存在する値」を求めたい、つまり「多数決」をしたいことがあります。その方法を見ていきます。 最も大きい値がmax, […]...
KerasのModelCheckpointのsave_best_onlyは何を表すのか?
11.5k{icon} {views} Kerasには「モデルの精度が良くなったときだけ係数を保存する」のに便利なModelCheckpointというクラスがあります。ただこのsave_best_onlyがいまいち公式の […]...
Kerasで重みを共有しつつ、必要に応じて入力の位置を変える方法
7.4k{icon} {views} Kerasで訓練させて、途中から新しく入力を作ってそこからの出力までの値を取りたいということがたまにあります。例えば、Variational Auto Encoderのサンプリングな […]...