亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在基于注意力的模型中為配置設置參數?

如何在基于注意力的模型中為配置設置參數?

慕尼黑8549860 2022-01-11 17:20:23
配置中有一些參數,特別是當我更改max_len,hidden_size或embedding_size.config = {    "max_len": 64,    "hidden_size": 64,    "vocab_size": vocab_size,    "embedding_size": 128,    "n_class": 15,    "learning_rate": 1e-3,    "batch_size": 32,    "train_epoch": 20}我收到一個錯誤:“ValueError:無法為張量'Placeholder:0'提供形狀(32、32)的值,其形狀為'(?,64)'”下面的張量流圖是我理解有問題的。有沒有辦法了解什么親戚max_len,hidden_size或embedding_size參數需要進行設置,以避免我得到上述錯誤?        embeddings_var = tf.Variable(tf.random_uniform([self.vocab_size, self.embedding_size], -1.0, 1.0),                                     trainable=True)        batch_embedded = tf.nn.embedding_lookup(embeddings_var, self.x)        # multi-head attention        ma = multihead_attention(queries=batch_embedded, keys=batch_embedded)        # FFN(x) = LN(x + point-wisely NN(x))        outputs = feedforward(ma, [self.hidden_size, self.embedding_size])        outputs = tf.reshape(outputs, [-1, self.max_len * self.embedding_size])        logits = tf.layers.dense(outputs, units=self.n_class)        self.loss = tf.reduce_mean(            tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, labels=self.label))        self.prediction = tf.argmax(tf.nn.softmax(logits), 1)        # optimization        loss_to_minimize = self.loss        tvars = tf.trainable_variables()        gradients = tf.gradients(loss_to_minimize, tvars, aggregation_method=tf.AggregationMethod.EXPERIMENTAL_TREE)        grads, global_norm = tf.clip_by_global_norm(gradients, 1.0)        self.global_step = tf.Variable(0, name="global_step", trainable=False)        self.optimizer = tf.train.AdamOptimizer(learning_rate=self.learning_rate)        self.train_op = self.optimizer.apply_gradients(zip(grads, tvars), global_step=self.global_step,                                                       name='train_step')        print("graph built successfully!")
查看完整描述

1 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

max_len是訓練集中最長句子/文檔標記的長度。它是輸入張量的第二個維度(第一個是批處理)。

每個句子都將被填充到這個長度。注意模型需要預定義的最長句子,因為每個標記都有其各自的權重。

hidden_size 是隱藏 RNN 單元的大小,可以設置為將在每個時間步輸出的任何內容。

embedding_size 定義令牌表示的維度(例如,300 是 word2vec 的標準,1024 是 BERT 嵌入等的標準)。


查看完整回答
反對 回復 2022-01-11
  • 1 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號