2017-02-27 2 views
3

TensorflowバックエンドのKerasのオートエンコーダーモデルで、エンコードされた部分をデコーダのステージの直前に保存します。ケラスでエンコードされた出力を保存するには

たとえば、

encoding_dim = 210 
input_img = Input(shape=(5184,)) 

encoded = Dense(2592, activation='relu')(input_img) 
encoded1 = Dense(encoding_dim, activation='relu')(encoded) 

decoded = Dense(encoding_dim, activation='relu')(encoded1) 
decoded = Dense(5184, activation='sigmoid')(decoded) 

私はオートエンコーダのトレーニングの後にCSVファイルとしてencoded1を保存したいです。 Denseの出力が(nb_samples, output_dim)になるとします。

はありがとう

答えて

2

試してみてください。

autoencoder = Model(input_img, decoded) 
encoder = Model(input_img, encoded1) 

autoencoder.compile(loss=my_loss, optimizer=my_optimizer) 
autoencoder.fit(my_data, my_data, .. rest of fit params) 

numpy.savetxt("encoded1.csv", encoder.predict(x), delimiter=",") 

はまた - 私はあなたが持っているデータの種類を知りませんが、私はあなたがlinear活性化は、最後の層とmse損失関数で使用することをお勧めします。

+0

です。ありがとう – Nufa

+0

あなたは私の答えをupvoteすることができます:) –

+0

これはフィッティングと訓練の前にエンコードされた出力を保存するので、これはもうこれ以上はないと思いますか?私は、オートエンコーダのコンパイルとフィッティング後にそれを保存する必要があります。 – Nufa

関連する問題