背景
接上文步清,在使用dataset進(jìn)行樣本解析之前跪楞,我們需要按照先定義一個(gè)解析字典誊薄,告訴dataset如何去解析每個(gè)樣本获茬,這個(gè)字典就是用來指定對于每條輸入樣本的每一列應(yīng)該用什么的feature去解析港庄,dataset默認(rèn)提供了FixedLenFeature,VarLenFeature恕曲,F(xiàn)ixedLenSequenceFeature等鹏氧。顧名思義,F(xiàn)ixedLenFeature用于處理定長的特征佩谣,VarLenFeature用于處理變長的特征把还,F(xiàn)ixedLenSequenceFeature用于處理定長的序特征。本文踩的就是FixedLenFeature的坑。
案例
features_config[fea_name] = tf.FixedLenFeature([], tf.int64)
features_config[fea_name] = tf.FixedLenFeature([1], tf.int64)
FixedLenFeature在處理特征時(shí)吊履,會根據(jù)輸入的shape來得到相應(yīng)的輸出tensor的shape安皱。
當(dāng)輸入shape = []時(shí),輸出tensor的shape=(batch_size,)率翅,
當(dāng)輸入shape=[k]時(shí)练俐,輸出tensor的shape= (batch_size,k)
tf在coding的過程中很多時(shí)候會因?yàn)檩斎雝ensor的shape問題而導(dǎo)致執(zhí)行失敗。想起當(dāng)時(shí)在看Andrew NG的教學(xué)視頻時(shí)冕臭,他也提到了這個(gè)問題腺晾,他給建議是,每次在進(jìn)行計(jì)算之前一定要對tensor進(jìn)行reshape從而保證后續(xù)的操作能正常進(jìn)行辜贵。
備注:小坑一枚悯蝉,記錄下