Python在用GPU跑模型的時候最好開多進程,因為很明顯這種任務就是計算密集型的。
用進程池好管理,但是tensorflow默認情況會最大占用顯存,盡管該任務並不需要這么多,因此我們可以設置顯存的按需獲取,這樣程序就不會死掉了。
1. 按比例預留:
2. 或者干脆自適應然后自動增長:
tf_config = tensorflow.ConfigProto() tf_config.gpu_options.per_process_gpu_memory_fraction = 0.5 # 分配50% session = tensorflow.Session(config=tf_config)
tf_config = tensorflow.ConfigProto() tf_config.gpu_options.allow_growth = True # 自適應 session = tensorflow.Session(config=tf_config)