A következő kódom van:
char_id = tf.placeholder(dtype=tf.int32, shape=[None, word_max_len])
A char_id
tenzor alakja [current batch's vocab size * length of the biggest word in the current batch]
legyen. Mivel minden iterációban különböző mondatokat veszek fel, a vocab size
és az length of biggest word in the batch
is változik. Nem használhatom a None
értéket a shape
mindkét mezőjéhez, mert később unstack
és a Cannot infer num from shape
hibaüzenet jelenik meg. Megpróbáltam a word_max_len
-et másik helyőrzőként betáplálni, majd a char_id
-ben használni, így:
word_max_len = tf.placeholder(dtype=tf.int32, shape=())
feed_dict = {char_id: char_id_batch, word_max_len: word_max_len_batch}
sess.run(train_op, feed_dict=feed_dict)
A következő hibát kapom: TypeError: int() argument must be a string, a bytes-like object or a number, not 'Tensor'
.
Nem akarok nagy fix word_max_len
-et, mondjuk 100-at. Tudom, hogy ez megoldja a problémát, de szeretném tudni, hogyan tudnám dinamikusan betáplálni a char_id
alakzatát.