1

事前トレーニング済みの埋め込みをレイヤーにロードすることはできないようです。こちらをご覧ください

回避策として私が行ったことは次のとおりです。

    model = create_model()

    E = [p for p in model.parameters if p.name == 'E'][0]
    emb = np.asarray(np.loadtxt('embeddings.txt', delimiter=' '), dtype='float32')
    model = model.clone(CloneMethod.clone, { E: constant(emb) })

次の形式のembeddings.txtを使用します。行数は使用する語彙の単語数で、列数は埋め込み用に選択した次元です: -0.126074999570847 ... ...

上記は正しい回避策のように思えますか? トレーニング セッションを開始しましたが、埋め込みレイヤーをトレーニングしたときと比べてパラメーターの数が減っています。

4

2 に答える 2

2

Could you please try out: E.value = emb as an alternate workaround.

Your workaround freezes the embedding to a constant. If that is not acceptable and you want to further train the embeddings the above approach might be your choice.

于 2017-01-06T01:07:36.910 に答える