日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python调用gpu进行运算_tensorflow指定CPU与GPU运算的方法实现

發布時間:2024/7/23 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python调用gpu进行运算_tensorflow指定CPU与GPU运算的方法实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.指定GPU運算

如果安裝的是GPU版本,在運行的過程中TensorFlow能夠自動檢測。如果檢測到GPU,TensorFlow會盡可能的利用找到的第一個GPU來執行操作。

如果機器上有超過一個可用的GPU,除了第一個之外的其他的GPU默認是不參與計算的。為了讓TensorFlow使用這些GPU,必須將OP明確指派給他們執行。with......device語句能夠用來指派特定的CPU或者GPU執行操作:

import tensorflow as tf

import numpy as np

with tf.Session() as sess:

with tf.device('/cpu:0'):

a = tf.placeholder(tf.int32)

b = tf.placeholder(tf.int32)

add = tf.add(a, b)

sum = sess.run(add, feed_dict={a: 3, b: 4})

print(sum)

設備的字符串標識,當前支持的設備包括以下的幾種:

cpu:0 機器的第一個cpu。

gpu:0 機器的第一個gpu,如果有的話

gpu:1 機器的第二個gpu,依次類推

類似的還有tf.ConfigProto來構建一個config,在config中指定相關的GPU,并且在session中傳入參數config=“自己創建的config”來指定gpu操作

其中,tf.ConfigProto函數的參數如下:

log_device_placement=True: 是否打印設備分配日志

allow_soft_placement=True: 如果指定的設備不存在,允許TF自動分配設備

import tensorflow as tf

import numpy as np

config = tf.ConfigProto(log_device_placement=True, allow_soft_placement=True)

with tf.Session(config=config) as sess:

a = tf.placeholder(tf.int32)

b = tf.placeholder(tf.int32)

add = tf.add(a, b)

sum = sess.run(add, feed_dict={a: 3, b: 4})

print(sum)

2.設置GPU使用資源

上文的tf.ConfigProto函數生成的config之后,還可以設置其屬性來分配GPU的運算資源,如下代碼就是按需分配

import tensorflow as tf

import numpy as np

config = tf.ConfigProto(log_device_placement=True, allow_soft_placement=True)

config.gpu_options.allow_growth = True

with tf.Session(config=config) as sess:

a = tf.placeholder(tf.int32)

b = tf.placeholder(tf.int32)

add = tf.add(a, b)

sum = sess.run(add, feed_dict={a: 3, b: 4})

print(sum)

使用allow_growth option,剛開始會分配少量的GPU容量,然后按需要慢慢的增加,有與不會釋放內存,隨意會導致內存碎片。

同樣,上述的代碼也可以在config創建時指定,

import tensorflow as tf

import numpy as np

gpu_options = tf.GPUOptions(allow_growth=True)

config = tf.ConfigProto(gpu_options=gpu_options)

with tf.Session(config=config) as sess:

a = tf.placeholder(tf.int32)

b = tf.placeholder(tf.int32)

add = tf.add(a, b)

sum = sess.run(add, feed_dict={a: 3, b: 4})

print(sum)

我們還可以給gpu分配固定大小的計算資源。

gpu_options = tf.GPUOptions(allow_growth=True, per_process_gpu_memory_fraction=0.5)

上述代碼的含義是分配給tensorflow的GPU顯存大小為:GPU的實際顯存*0.5

到此這篇關于tensorflow指定CPU與GPU運算的方法實現的文章就介紹到這了,更多相關tensorflow指定CPU與GPU運算內容請搜索我們以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持我們!

本文標題: tensorflow指定CPU與GPU運算的方法實現

本文地址: http://www.cppcns.com/jiaoben/python/309046.html

總結

以上是生活随笔為你收集整理的python调用gpu进行运算_tensorflow指定CPU与GPU运算的方法实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。