numpy
機械学習アプリケーションで使用するために配列内の画像をダウンサンプリングする高速な方法を探しているGoogleからここに来る人々のために、ここに超高速の方法があります(ここから適応)。このメソッドは、入力ディメンションが出力ディメンションの倍数である場合にのみ機能します。
次の例では、128x128から64x64にダウンサンプリングします(これは簡単に変更できます)。
チャンネルの最後の注文
# large image is shape (128, 128, 3)
# small image is shape (64, 64, 3)
input_size = 128
output_size = 64
bin_size = input_size // output_size
small_image = large_image.reshape((output_size, bin_size,
output_size, bin_size, 3)).max(3).max(1)
チャネルの最初の注文
# large image is shape (3, 128, 128)
# small image is shape (3, 64, 64)
input_size = 128
output_size = 64
bin_size = input_size // output_size
small_image = large_image.reshape((3, output_size, bin_size,
output_size, bin_size)).max(4).max(2)
グレースケール画像の場合3
、次の1
ようにをaに変更します。
チャネルの最初の注文
# large image is shape (1, 128, 128)
# small image is shape (1, 64, 64)
input_size = 128
output_size = 64
bin_size = input_size // output_size
small_image = large_image.reshape((1, output_size, bin_size,
output_size, bin_size)).max(4).max(2)
このメソッドは、最大プーリングと同等のものを使用します。私が見つけたのは、これを行う最も速い方法です。