tensorflow中FLAGS全域性變數用法

2021-10-09 17:48:57 字數 1401 閱讀 6816

tensorflow中flags主要用於接受命令行傳遞引數,可以全域性的更改**中的引數,這正好適用於深度學習這種用到引數比較多的地方。

大概的步驟就是現在.py檔案中定義相應引數,然後呼叫flags,將引數儲存在flags中,方便進一步的更改和呼叫(例如:呼叫時直接用 (flags.引數名) 呼叫即可。

1.先在檔案中呼叫flags功能,呼叫可以通過以下兩種方式:

import tensorflow as tf

flags = tf.flags(新版本)#新老版本任選其一即可

flags = flags.flags

from absl import flags#這種是不呼叫tensorflow而是直接採用absl中的flags模組

flags = flags.flags

2.將引數值傳入flags中,不同的引數型別用不同的函式定義:

flags.define_integer(1,

2,3)

flags.define_float(1,

2,3)

flags.define_boolean(1,

2,3)

這裡的引數 1:引數名稱(呼叫時要用到) 2:預設值。 3:引數描述

import sys, os

from absl import flags

import tensorflow as tf

flags = tf.flags

flags = flags.flags

flags.define_string(

'gpu'

,none

,'comma separated list of gpu to use.'

)flags.define_float(

'number'

,1.0

,'這是乙個浮點數'

)def

main

(ar**)

:del ar**

if flags.gpu:

print

("gpu is %s"

% flags.gpu)

os.environ[

'cuda_visible_devices'

]= flags.gpu

else

:print

('please assign gpus.'

)print

(flags.number)

exit(

)if __name__ ==

'__main__'

:

輸出:

please assign gpus.

1.0

和flag 不怕立Flag,就怕沒有Flag

我慢悠悠地在宿舍裡轉圈,看見舍友遞過來的薯片,原來是因為你。我憤憤地邊吃邊說。在舍友看白痴的眼神中我回到椅子上,撕開了一包無骨雞爪,邊嚼邊想,總有人想阻止我成功。昨天晚自習的時候,班長讓我們每乙個都寫下自己的新年flag,然後互相交換後讀出來。有的人希望自己好好學習,天天向上 有的人希望可以暴瘦 有...

dlopen中幾個flag的區別

dlopen中幾個flag的區別 rtld lazy rtld now rtld global void dlopen const char filename,int flag 其中flag有 rtld lazy rtld now rtld global,其含義分別為 1 rtld lazy 在dl...

dlopen中幾個flag的區別

dlopen中幾個flag的區別 rtld lazy rtld now rtld global void dlopen const char filename,int flag 其中flag有 rtld lazy rtld now rtld global,其含義分別為 1 rtld lazy 在dl...