Выполните следующие шаги:
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m
-Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"
Вы можете установить переменные среды в записной книжке с помощью os.environ
. Перед инициализацией TensorFlow выполните следующее:
import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" # see issue #152
os.environ["CUDA_VISIBLE_DEVICES"]="0"
Вы можете дважды проверить, что у вас есть правильные устройства, видимые для TF
from tensorflow.python.client import device_lib
print device_lib.list_local_devices()
Я склонен использовать это из служебного модуля, такого как notebook_util
import notebook_util
notebook_util.pick_gpu_lowest_memory()
import tensorflow as tf
Вы можете сделать это быстрее без импорта только с помощью magics :
%env CUDA_DEVICE_ORDER=PCI_BUS_ID
%env CUDA_VISIBLE_DEVICES=0
Обратите внимание, что все переменные env являются строками, поэтому нет необходимости использовать "
. Вы можете проверить, что env-variable настроена путем запуска: %env <name_of_var>
. Или проверьте все из них с помощью %env
.
env
влияет на другие скрипты python? поскольку это похоже на изменение переменной окружения os.
– JenkinsY
16 May 2018 в 11:21