🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1069閲覧

画像別の加算をしたい

hidemomo

総合スコア31

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/10/22 07:56

編集2019/10/22 09:07

スタックしていること

あるモデルでの特徴量抽出(layer_output)時の画像別の数値加算を行いたいのですが、その方法がわかりません。

Xは画像枚数(仮に4枚)

・X:4枚
・画像(G,R):77
・フィルター形状(ch):2048
・画像+フィルター形状:7
7*2048

コード

python

1lst = [] 2 3for x in range(len(X)): 4 G, R, ch = layer_output[x].shape[0:] 5 res = np.zeros((G,R)) #shape.output(7,7)が4枚 6   7  for i in range(ch): 8 img_res = layer_output[x][:,:,i] #shape.output (7,7)が8192(2048*4枚) 9 lst.append(img_res) 10 11★ res_ = res + img_res を画像別に行いたいが、画像別に格納できていないため不可。 12(注)resは不要と思いますが、目的に沿った意味がありますのでご了承ください。

試行したこと

フィルター(ch)ごとにimg_res_splt = np.split(img_res, ch)分割も試行しましたが、ValueError: array split does not result in an equal divisionのエラーが出ます。

冗長にならぬようライブラリーは割愛していますことご容赦ください。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Q71

2019/10/22 11:35

「あるモデルでの特徴量抽出(layer_output)時の画像別の数値加算を行いたい」 あるモデルで、特徴量抽出時に、画像別に数値加算を行いたい?
daesaka

2019/10/24 04:49

やりたいことがよくわからないので想像ですが、 lst = np.array(lst) ans = np.sum(lst, asix=3) ですか???
daesaka

2019/10/24 05:05

なんかわかってきた。2つ目のループ '''   for i in range(ch): img_res = layer_output[x][:,:,i] #shape.output (7,7)が8192(2048*4枚) lst.append(img_res) ''' をfor文は使わないでこう書き直す。 ''' img_res = np.sum(layer_output[x],axis=2) lst.append(img_res) ''' でどうでしょう???
hidemomo

2019/10/31 03:49 編集

連絡が遅れてすいません。ご指摘の通りですね。 何日かかかりましたが、私も同じ解に行きつきました。 (※)axis=-1としましたが。 daesakaさんにベストアンサーを供与したいので、恐縮ですが回答欄に ``` img_res = np.sum(layer_output[x],axis=2) lst.append(img_res) ``` を記入いただいてよろしいですか。 ありがとうございました。
guest

回答1

0

ベストアンサー

これでお願いします。

img_res = np.sum(layer_output[x],axis=2) lst.append(img_res)

投稿2019/10/31 10:09

daesaka

総合スコア136

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問