1. 程式人生 > >(原)tensorflow中使用指定的GPU及GPU視訊記憶體

(原)tensorflow中使用指定的GPU及GPU視訊記憶體

轉載請註明出處:

參考網址:

1 終端執行程式時設定使用的GPU

如果電腦有多個GPU,tensorflow預設全部使用。如果想只使用部分GPU,可以設定CUDA_VISIBLE_DEVICES。在呼叫python程式時,可以使用(見第一個參考網址Franck Dernoncourt的回覆):

CUDA_VISIBLE_DEVICES=1 python my_script.py
Environment Variable Syntax      Results

CUDA_VISIBLE_DEVICES=1           Only device 1 will be seen
CUDA_VISIBLE_DEVICES=0,1         Devices 0 and 1 will be visible
CUDA_VISIBLE_DEVICES="0,1"       Same as above, quotation marks are optional
CUDA_VISIBLE_DEVICES=0,2,3       Devices 0, 2, 3 will be visible; device 1 is masked
CUDA_VISIBLE_DEVICES=""          No GPU will be visible

2 python程式碼中設定使用的GPU

如果要在python程式碼中設定使用的GPU(如使用pycharm進行除錯時),可以使用下面的程式碼(見第二個參考網址中Yaroslav Bulatov的回覆):

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

3 設定tensorflow使用的視訊記憶體大小

3.1 定量設定視訊記憶體

預設tensorflow是使用GPU儘可能多的視訊記憶體。可以通過下面的方式,來設定使用的GPU視訊記憶體:

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
sess 
= tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

上面分配給tensorflow的GPU視訊記憶體大小為:GPU實際視訊記憶體*0.7。

可以按照需要,設定不同的值,來分配視訊記憶體。

========================================================================

170703更新:

3.2 按需設定視訊記憶體

gpu_options = tf.GPUOptions(allow_growth=True)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))   

170703更新結束

========================================================================

相關推薦

torch7指定可見的GPU

編號 設置 get href visible uda blog 電腦 arc 轉載請註明出處: http://www.cnblogs.com/darkknightzh/p/7418694.html 參考網址: https://gitter.im/torch/torch

tensorflow使用指定GPUGPU視訊記憶體

轉載請註明出處: 參考網址: 1 終端執行程式時設定使用的GPU 如果電腦有多個GPU,tensorflow預設全部使用。如果想只使用部分GPU,可以設定CUDA_VISIBLE_DEVICES。在呼叫python程式時,可以使用(見第一個參考網址Franck Dernoncourt的回覆)

tensorflowfinetune某些層

master oba 參考 -a ads tro ids .html class 轉載請註明處處: http://www.cnblogs.com/darkknightzh/p/7608709.html 參考網址: https://kratzert.github.io/

迴圈神經網路系列TensorflowMultiRNNCell

迴圈神經網路系列(一) Tensorflow中BasicRNNCell 迴圈神經網路系列(二)Tensorflow中dynamic_rnn 經過前面兩篇博文,我們介紹瞭如何定義一個RNN單元,以及用dynamic_rnn來對其在時間維度(橫軸)上展開。我們今天要介紹的就是如何疊加多層

迴圈神經網路系列Tensorflowdynamic_rnn

1.回顧 上一篇博文(迴圈神經網路系列(一)Tensorflow中BasicRNNCell)中我們介紹了在Tensoflow中,每個RNN單元的實現,以及對應各個引數的含義。自那之後,我們就能通過Tensorflow實現一個單元的計算了。 import tensorflow as

迴圈神經網路系列TensorflowBasicRNNCell

按道理看完RNN的原理之後,我們就應該來用某種框架來實現了。可偏偏在RNN的實現上,對於一個初學者來說Tensorflow的表達總是顯得那麼生澀難懂,比起CNN那確實是差了一點。比如裡面的引數就顯示不是那麼的友好。num_units到底指啥?原諒我最開始以為指的是RNN單元的個數。zer

netbeans新增anaconda3安裝的opencv

轉載請註明出處: https://www.cnblogs.com/darkknightzh/p/9974310.html 新裝了ubuntu16.04後,直接安裝了anaconda3,除錯c++程式時,要用到opencv,因而在anaconda中安裝了opencv,命令如下: conda inst

迴圈神經網路系列TensorflowConvLSTMCell

前面一文我們簡單得介紹了ConvLSTM得原理和應用場景,現在來看看在Tensorflow它具體是如何實現得。 值得一說得是Tensorflow在實現這個演算法得時候並沒有使用peepholes,即下面的紅色部分,而是基於原始的LSTM網路結構改變的。不過在最後,我也會給出一個仿照

迴圈神經網路系列TensorflowBasicLSTMCell

1.結論 照慣例,先上結論,再說過程,不想看過程的可直接略過。 從這個圖我們可以知道,一個LSTM cell中有4個引數,並且形狀都是一樣的shape=[output_size+n,output_size],其中n表示輸入張量的維度,output_size

TensorFlow筆記1——TensorFlow的相關基本概念

前言 Tensorflow 是一個程式設計系統,使用圖(graph)來表示計算任務,圖(graph)中的節點稱之為 op (operation),一個 op 獲得 0 個或多個 Tensor,執行計算,產生 0 個或多個 Tensor。Tensor 看作是一個 n 維的陣列或列表。圖必須

tensorflow使用指定GPUGPU顯存

div .config sam com chang gif 固定 www 第一個 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本文目錄 1 終端執行程序時設置使用的GPU 2 python代碼中設置使用的GPU 3 設置tensorfl

TensorFlow指定GPUGPU視訊記憶體設定

檢視機器上GPU情況 命令: nvidia-smi 功能:顯示機器上gpu的情況 命令: nvidia-smi -l 功能:定時更新顯示機器上gpu的情況 其中左上側有0、1、2、3的編號,表示GPU的編號,在後面指定GPU時需要使用這個編號。

使用1080Ti顯卡時安裝ubuntu16.04.1驅動的步驟

-i details ati bsp csdn apt-get pos code 主板 轉載請註明出處: http://www.cnblogs.com/darkknightzh/p/6811328.html 參考網址: http://www.cnblogs.com/d

Androidapk動態載入技術研究2android插件化實現

name creat package path iss fontsize 調用 dex con 了解了android中類載入的前期知識點後,來看看android中DexClassLoader詳細的實現 詳細載入流程例如以下: 宿主程序會到文件系統比

JavaScript高級程序設計(第3版)--學習筆記--02: 在HTML使用JavaScritp--0006--<noscript>元素

span 不支持 scrip src 高級 2.4 高級程序設計 example 否則 2.4 <noscript>元素 在<noscript>元素中的內容只有在下列情況下才會顯示出來: * 瀏覽器不支持腳本; * 瀏覽器致辭腳本,但腳本被禁用

JavaScript高級程序設計(第3版)--學習筆記--02: 在HTML使用JavaScritp--0007--總結

標簽 高級程序設計 情況下 嵌入 順序執行 設置 學習筆記 混合 執行順序 小結 在 JavaScript 插入到 HTML 頁面中要使用<script>元素。使用這個元素可以把 JavaScript 嵌入到 HTML 頁面中,讓腳本與標記混合在一起;也可以包含

Linux /etc/profile、~/.bash_profile 環境變量配置執行過程

行修改 你在 關系 轉載 登錄用戶 後者 nbsp inux 第一個 環境變量是和Shell緊密相關的,用戶登錄系統後就啟動了一個Shell。對於Linux來說一般是bash,但也可以重新設定或切換到其它的 Shell。對於UNIX,可能是CShelll。環境變量是通過Sh

十、字典:什麼是字典如何訪問、新增、修改、刪除字典的值

文章目錄 (一)、什麼是字典 (二)、訪問字典中的值 (三)、在字典中新增鍵 - 值對 (四)、修改字典中的值 (五)、刪除字典中的值

Linux /etc/profile、~/.bash_profile 環境變數配置執行過程

環境變數是和Shell緊密相關的,使用者登入系統後就啟動了一個Shell。對於Linux來說一般是bash,但也可以重新設定或切換到其它的 Shell。對於UNIX,可能是CShelll。環境變數是通過Shell命令來設定的,設定好的環境變數又可以被所有當前使用者所執行的程式所使用。對於bash這個Shell

Spring Boot使用WebSocket總結:向指定使用者傳送WebSocket訊息並處理對方不線上的情況

Spring Boot中使用WebSocket總結(二):向指定使用者傳送WebSocket訊息並處理對方不線上的情況 在上一篇文章(www.zifangsky.cn/1355.html)中我介紹了在Spring專案中使用WebSocket的幾種實現方式。但是,上篇文章中只介紹了服務端採用廣播模式給所有客戶