質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python

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

Q&A

解決済

1回答

1481閲覧

PythonのKerasを用いたオートエンコーダでの中間層からの特徴量抽出

gymgym

総合スコア97

Python

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

0グッド

4クリップ

投稿2018/04/02 05:16

編集2018/04/02 06:31

kerasのオートエンコーダを用いて特徴量抽出を行いたいと考えています。

Python

1from keras.layers import Input, Dense 2from keras.models import Model 3from keras.datasets import mnist 4import numpy as np 5 6encoding_dim = 32 7input_img = Input(shape=(784,)) 8encoded = Dense(encoding_dim, activation='relu')(input_img) 9decoded = Dense(784, activation='sigmoid')(encoded) 10autoencoder = Model(input=input_img, output=decoded) 11 12autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy') 13 14(x_train, _), (x_test, _) = mnist.load_data() 15x_train = x_train.astype('float32') / 255. 16x_test = x_test.astype('float32') / 255. 17x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:]))) 18x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:]))) 19 20autoencoder.fit(x_train, x_train, 21 nb_epoch=50, 22 batch_size=256, 23 shuffle=True, 24 validation_data=(x_test, x_test))

以上のようなコードで、32次元に圧縮した時の中間層から特徴量として値を抽出したいと考えているのですがどのようにしたら抽出できるのでしょうか。

よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

おそらくこれでできると思います.
まず,encodedの部分(抽出した部分)にnameを追加します.

python

1encoded = Dense(encoding_dim, activation='relu', name='encoder_layer')(input_img) 2

AEの学習を行った後,下のようにchokepoint_model(AEの圧縮した部分)のモデルを定義し,get_layer()の中に上で指定したnameを入れます.

python

1chokepoint_model = Model(inputs=model.input, outputs=model.get_layer('encoder_layer').output)

これで,chokepoint_modelに特徴量が入っているのではないかと思います.

投稿2019/02/17 11:25

cdg_26

総合スコア27

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問