ここで説明するモデルを変更して、バイナリクラス分類の代わりにマルチクラステキスト分類を実行しました。 http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/TensorflowでWord Embeddingを学習する方法
L2正規化を適用しても私のモデルはオーバーフィットであるため、事前にトレーニングされたword2vecモデルを使用したいと考えています。しかし、私は非常にTensorflowに新しいです&深い学習&どこから始めるべきかわかりません。
コード:誰かがどのように私を指すことができる場合、それは非常に参考になります
# Embedding layer
with tf.device('/cpu:0'), tf.name_scope("embedding"):
W = tf.Variable(
tf.random_uniform([vocab_size, embedding_size], -1.0, 1.0),
name="W")
self.embedded_chars = tf.nn.embedding_lookup(W, self.input_x)
self.embedded_chars_expanded = tf.expand_dims(self.embedded_chars, -1)
:ここ
https://github.com/dennybritz/cnn-text-classification-tf/blob/master/text_cnn.py#L27は、私はGoogleの事前訓練を受けたword2vecモデルを使用するように変更したい、関連するコードですこれをコードに組み込むことはできますか?私はembedding_lookupの文書を見ましたが、それは私が探している情報を持っていないようです。これらのリンクへ
: 'モデル= word2vecを。 Word2Vec.load_word2vec_format( './word2vec/事前に訓練された/ GoogleNews-vectors-negative300.bin'、バイナリ= True) 埋め込み= model.syn0 vocab_size = embedding.shape [0] embedding_dim = embedding.shape [1] '。しかし、上記は私に次のメッセージを与えます: 'UserWarning:疎なIndexedSlicesを900000000要素の密なテンソルに変換する。これは大量のメモリを消費する可能性があり、トレーニングはこの段階で掛かっているようです – Rookie