0

Pylearn2 で 2 層積層 CAE モデルをトレーニングして保存しました。これらのモデルをロードして、新しいデータセットを変換したいと思います。どうすればいいですか?

これは私のモデルです:

l1 = serial.load('CAE_l1.pkl')
l2 = serial.load('CAE_l2.pkl')
print l1
<pylearn2.models.autoencoder.ContractiveAutoencoder object at 0x7f3bb6d482d0>

私もこのようなことを試しましたが、うまくいきません。

data = T.matrix('data')
transform = theano.function([data], l1(data))

これは私が最近やっていることですが、その正しさについてはわかりません:

data = T.matrix('data')
transform = theano.function([data], l1.encode(data))
X_1 = transform(X.astype(float32))
4

1 に答える 1

2

pylearn2.scripts.autoencoderスタックされた事前トレーニング済みオートエンコーダーの使用方法を示す構成ファイルのディレクトリを確認します。モデルの次の段階に進む途中で、事前トレーニング済みのモデルを変換オブジェクトとしてデータセットに読み込みます。

yaml ファイルを使用したくない場合は、正しい方法を使用してモデル関数を一緒に文字列化できるはずです (頭のてっぺんから書いているため、テストされていません)。

入力 = T.vector()

enc = l1.encode(入力)

出力 = l2.encode(enc)

f= theano.function([入力], 出力)

real_transformation = f(リアルデータ)

戻るには、ae_layer.decode()メソッドで同じことができます。

これらが および のレイヤの一部である場合、 でメソッドをMLP呼び出して、すべてのレイヤを上向きに通過させることができます。.fprop()MLP

于 2014-11-15T19:10:43.200 に答える