推 jameszhan: 用with的話 你要跟訓練在同一個with裡吧 04/24 08:25
→ jameszhan: 不然你存參數時候的session應該沒東西 04/24 08:25
推 jameszhan: 最後的with那行等於一個新的session 你初始化參數後就 04/24 08:35
→ jameszhan: 直接存 中間應該要有訓練過程 04/24 08:35
→ jameszhan: 還是你只是想問為何初始化後存的參數會一樣? 04/24 08:44
→ Paudse: 恩恩 對阿 初始化參數都會一樣 是為什麼呢 謝謝 04/24 10:38
→ Paudse: 甚至我把之前處存的ckpt檔都刪了 跑出來的參數還是一樣 04/24 10:39
→ Paudse: 我朋友後來說他會存很多個ckpt 可以設定幾個epoch存一次 04/24 10:41
→ Paudse: 要restore最後一個ckpt才是最接近訓練最後的結果 04/24 10:41
推 jameszhan: 當然啊 你可以看一下tensorflow的文件 04/24 13:13
推 jameszhan: saver(max=n) 可以設定要保留幾個檔案 04/24 13:16
→ Paudse: 我現在用model_file=tf.train.latest_checkpoint('ckpt/') 04/24 13:31
→ Paudse: saver.restore(sess,model_file) 04/24 13:31
→ Paudse: 但還是都從最一開始的開始訓練 不知道是怎麼回事 04/24 13:32
→ Paudse: 另外也已經改成saver=tf.train.Saver(max_to_keep=1) 04/24 13:33
推 goldflower: =1代表只存一個吧 04/24 13:34
→ goldflower: 照這個做應該就好了 04/24 13:34
→ jameszhan: 參數初始化的部分可以看這個truncated_normal_initiali 04/24 13:48
推 jameszhan: 從最一開始的訓練或許是你本來就只有一開始才有存? 04/24 13:50
→ jameszhan: 直接去github看別人完整的code比較快 看人家怎麼用的 04/24 13:51
→ chchan1111: 對了 你這個code是不是怪怪的 你一開始就有實體化 04/24 13:54
→ chchan1111: session了 為何後面還要with tf.se.... 04/24 13:54
→ Paudse: 感謝各位的建議 我後來發現 我原本把放在saver.restore 04/24 13:54
→ chchan1111: 直接self.sess.run就可以了 不然你等於又實體化一個 04/24 13:55
→ chchan1111: session 04/24 13:55
→ Paudse: 一個if判斷句裡面檢查有沒有之前存的ckpt 但一值失敗 04/24 13:55
→ Paudse: 我後來把saver.restore拿出那個if結構外就可以了 04/24 13:55
→ Paudse: 雖然不太懂為何會有這個問題 不過現在OK了 感謝大家!! 04/24 13:56
→ Paudse: 大大們說的沒錯 我後來把with拿掉了 04/24 14:12