處理 tensorflow 和 gym 結合的衝突
情況:
一直以來都是用pygame的環境結合tensorflow跑,後來想把open-ai 的環境結合進去卻怎麼也結合不起來,一直出現下面這個error,完全不知道從哪裡debug
ValueError: invalid literal for int() with base 10: ‘None’
後來我把程式碼再別處測試,剔除到剩下這樣的簡略版一樣會錯誤
解決方法:
查了網路資料發現一堆人也發生和我一樣的情況,原因是因為tensorflow已經先抓取GPU的相關權限,pygame之後裏面的OpenGL也會抓GPU的權限,兩個資源已經互搶了,因此必須先初始化遊戲環境,再初始化tensorflow才會正確
這是解決之後的code,把import tensorflow 往後移動就解決了:
參考資料:
https://github.com/openai/gym/issues/403
https://github.com/openai/gym/issues/418