【发布时间】:2018-07-19 23:46:36
【问题描述】:
TensorFlow 正在分配我所有的 GPU 内存并忽略我的命令来使用 CPU,我该如何解决这个问题?
这是我的testprog的代码摘录
Session *session;
SessionOptions opts = SessionOptions();
//force to allocate 0 memory on gpu
opts.config.mutable_gpu_options()->set_per_process_gpu_memory_fraction(0);
opts.config.mutable_gpu_options()->set_allow_growth(false);
//create session with these settings
TF_CHECK_OK(NewSession(opts, &session));
TF_CHECK_OK(session->Create(graph_def));
//set device to cpu
graph::SetDefaultDevice("/cpu:0", &graph_def);
//run arbitrary model
Status status = session->Run(classifierInput, {output_layer},{},&outputs);
TF_CHECK_OK(session->Close());
打电话给nvidi-smi 告诉我:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.66 Driver Version: 375.66 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro P4000 Off | 0000:01:00.0 Off | N/A |
| N/A 50C P0 28W / N/A | 7756MiB / 8114MiB | 42% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1784 G /usr/bin/X 139MiB |
| 0 3828 G qtcreator 28MiB |
| 0 7721 C ...testprog/build/testprog 7585MiB |
+-----------------------------------------------------------------------------+
为什么会这样?
【问题讨论】:
标签: c++ tensorflow memory-management gpu cpu