TensorFlow設(shè)備規(guī)范

2018-09-30 17:44 更新
tf.DeviceSpec

DeviceSpec 類

定義在:tensorflow/python/framework/device.py.

表示 TensorFlow 設(shè)備的(可能只是部分)規(guī)范.

在整個(gè) TensorFlow 中使用 DeviceSpecs 來(lái)描述存儲(chǔ)狀態(tài)和計(jì)算發(fā)生的位置.使用 DeviceSpec 可以允許您分析設(shè)備規(guī)范字符串以驗(yàn)證其有效性、合并或以編程方式組合它們.

例:

# Place the operations on device "GPU:0" in the "ps" job.
device_spec = DeviceSpec(job="ps", device_type="GPU", device_index=0)
with tf.device(device_spec):
  # Both my_var and squared_var will be placed on /job:ps/device:GPU:0.
  my_var = tf.Variable(..., name="my_variable")
  squared_var = tf.square(my_var)

如果 DeviceSpec 是部分指定的,它將根據(jù)它定義的范圍與其他 DeviceSpecs 合并.在內(nèi)部范圍內(nèi)定義的 DeviceSpec 組件優(yōu)先于外部作用域中定義的組件.

with tf.device(DeviceSpec(job="train", )):
  with tf.device(DeviceSpec(job="ps", device_type="GPU", device_index=0):
    # Nodes created here will be assigned to /job:ps/device:GPU:0.
  with tf.device(DeviceSpec(device_type="GPU", device_index=1):
    # Nodes created here will be assigned to /job:train/device:GPU:1.

DeviceSpec 由5個(gè)組件組成,每個(gè)組件都是可選指定的:

  • job:job 名稱.
  • Replica:副本索引.
  • Task:任務(wù)索引.
  • Device type:設(shè)備類型字符串(例如 “CPU” 或 “GPU”).
  • Device index:設(shè)備索引.

屬性

  • job
  • replica
  • task

方法

__init__

__init__(
    job=None,
    replica=None,
    task=None,
    device_type=None,
    device_index=None
)

創(chuàng)建一個(gè)新的 DeviceSpec 對(duì)象.

ARGS:

  • job:字符串,可選的 job 名稱.
  • replica:int,可選的副本索引.
  • task:int,可選的任務(wù)索引.
  • device_type:可選的設(shè)備類型字符串(例如 “CPU” 或 “GPU”)
  • device_index:int,可選的設(shè)備索引.如果未指定,則 device 表示 “任意的” device_index.

from_string

from_string ( spec )

從字符串構(gòu)造 DeviceSpec.

ARGS:

  • spec:一個(gè)字符串形式:/job:/replica:/task:/device:CPU:  或者 /job:/replica:/task:/device:GPU: 因?yàn)?cpu 和 gpu 是互斥的.所有條目都是可選的.

返回:

返回一個(gè) DeviceSpec(設(shè)備規(guī)范).

merge_from

merge_from ( dev )

將 “dev” 的屬性合并到此 DeviceSpec.

ARGS:

  • dev:一個(gè) DeviceSpec.

parse_from_string

parse_from_string ( spec )

將 DeviceSpec 名稱解析為其組件.

ARGS:

  • spec:一個(gè)字符串形式:/job:/replica:/task:/device:CPU:  或者 /job:/replica:/task:/device:GPU: 因?yàn)?cpu 和 gpu 是互斥的.所有條目都是可選的.

返回:

返回 DeviceSpec(設(shè)備規(guī)范).

注意:

  • ValueError:如果規(guī)范無(wú)效.

to_string

to_string ()

返回此 DeviceSpec 的字符串表示形式.

返回:

返回一個(gè)字符串的形式:/job:/replica:/task:/device::.


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)