2019-03-14

標(biāo)題:six_questions_of_tf



內(nèi)容:

一. tf variable_scope與tf.name_scope

二.tf.get_variable()和tf.Variable()

三.global_step=tf.Variable(0, trainable=False)

四.保存檢查點(diǎn)(checkpoint)

五.padding 0時(shí),為什么左邊也要padding

六.單層卷積和池化提取圖片特征


正文如下:



一我磁、 with tf variable_scope的作用

主要作用:在一個(gè) variable_scope 作用域下內(nèi)共享變量

tf.name_scope()和tf.variable_scope()是兩個(gè)作用域,一般與兩個(gè)創(chuàng)建/調(diào)用變量的函數(shù)tf.variable() 和tf.get_variable()搭配使用季研。

它們搭配在一起的兩個(gè)常見用途:1)變量共享座每,#2)tensorboard畫流程圖時(shí)為了可視化封裝變量

###1.共享變量的使用及舉例

變量共享主要涉及兩個(gè)函數(shù):

? ? tf.get_variable(<name>, <shape>, <initializer>)

? ? tf.variable_scope(<scope_name>)

TF中有兩種作用域類型

? ? 命名域 (name scope),可通過tf.name_scope 或 tf.op_scope創(chuàng)建;

? ? 變量域 (variable scope)碌识,可通過tf.variable_scope 或 tf.variable_op_scope創(chuàng)建

代碼舉例:


代碼舉例:以下代碼運(yùn)行第一次沒問題碾篡,運(yùn)行第二次會(huì)報(bào)錯(cuò)


所以:命名域 (name scope) 、變量域 (variable scope)筏餐,這兩種作用域的使用有區(qū)別?

在variable_scope的作用域下开泽,tf.get_variable()和tf.Variable()都加了scope_name 前綴, 因此魁瞪,必須在tf.variable_scope的作用域下穆律,通過get_variable()可以使用已經(jīng)創(chuàng)建的變量,實(shí)現(xiàn)了變量的共享导俘。

在name_scope的作用域下峦耘,通過tf.get_variable()方式創(chuàng)建的變量,只有variable scope名稱會(huì)加到變量名稱前面趟畏,而name scope不會(huì)作為前綴贡歧; 通過tf.variable()創(chuàng)建的變量,name scope 和variable scope都會(huì)加到變量名稱前面


### TF中創(chuàng)建變量的方式有兩種:tf.get_variable()和tf.Variable()

? ? tf.get_variable(“vname”)方法赋秀,在創(chuàng)建變量時(shí)利朵,如果這個(gè)變量vname已經(jīng)存在,直接使用這個(gè)變量猎莲,如果不存在绍弟,則重新創(chuàng)建;

? ? tf.Variable()在創(chuàng)建變量時(shí)著洼,一律創(chuàng)建新的變量樟遣,如果這個(gè)變量已存在,則后綴會(huì)增加0身笤、1豹悬、2等數(shù)字編號(hào)予以區(qū)別。



## 二液荸、tf.varibales initialize

Tensorflow使用Variable類表達(dá)瞻佛、更新、存儲(chǔ)模型參數(shù)娇钱。

Variable是在可變更的伤柄,具有保持性的內(nèi)存句柄,存儲(chǔ)著Tensor文搂。

在整個(gè)session運(yùn)行之前,圖中的全部Variable必須使用Tensor進(jìn)行初始化适刀。


### 在TensorFlow的世界里,變量的定義和初始化是分開的

所有關(guān)于圖變量的賦值和計(jì)算都要通過tf.Session的run來進(jìn)行煤蹭,在執(zhí)行完初始化之后笔喉,Variable中的值生成完畢取视,不會(huì)再變化。

想要將所有圖變量進(jìn)行集體初始化時(shí)應(yīng)該使用tf.global_variables_initializer 或tf.initialize_all_variables()




## 三然遏、global_step=tf.Variable(0, trainable=False)

global_step在滑動(dòng)平均贫途、優(yōu)化器吧彪、指數(shù)衰減學(xué)習(xí)率等方面都有用到待侵,這個(gè)變量的實(shí)際意義非常好理解:代表全局步數(shù),比如在多少步該進(jìn)行什么操作姨裸,現(xiàn)在神經(jīng)網(wǎng)絡(luò)訓(xùn)練到多少輪等等秧倾,類似于一個(gè)鐘表。

根據(jù)代碼可以發(fā)現(xiàn)global_step的初始化值是0:

? global_step=tf.Variable(0, trainable=False)

問題:如果global_step直接賦值為0了傀缩,還怎么表示全局的步數(shù)那先?

### trainable,為bool類型赡艰,如果為True售淡,會(huì)把它加入到GraphKeys.TRAINABLE_VARIABLES,才能對(duì)它使用Optimizer慷垮。如果為False揖闸,則不進(jìn)行optimizer

## 四:保存檢查點(diǎn)(checkpoint)

為了得到可以用來后續(xù)恢復(fù)模型以進(jìn)一步訓(xùn)練或評(píng)估的檢查點(diǎn)文件(checkpoint file),我們實(shí)例化一個(gè)tf.train.Saver料身。

saver = tf.train.Saver()

在訓(xùn)練循環(huán)中汤纸,將定期調(diào)用saver.save()方法,向訓(xùn)練文件夾中寫入包含了當(dāng)前所有可訓(xùn)練變量值的檢查點(diǎn)文件芹血。

saver.save(sess, FLAGS.train_dir, global_step=step)

這樣贮泞,我們以后就可以使用saver.restore()方法,重載模型的參數(shù)幔烛,繼續(xù)訓(xùn)練啃擦。

saver.restore(sess, FLAGS.train_dir)


## 五、padding 0時(shí),為什么左邊也要padding

1.使得左邊和上邊邊緣有機(jī)會(huì)被卷積核滑動(dòng)時(shí)饿悬,更多次數(shù)的提取到令蛉,

2.卷積前后圖片的中心位置不變 (在卷積時(shí),中心位置可能會(huì)有更多機(jī)會(huì)被卷積到乡恕,兩邊會(huì)更少)

ps:通常地言询,一般filter的高和寬都為奇數(shù),一般為 3x3傲宜,或5x5,或7x7

(filter的大小不為奇數(shù)時(shí)运杭,一般是padding_width/2=padding_left;padding_height/2=padding_top)


## 六、單層卷積和池化函卒,提取圖片特征




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辆憔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌虱咧,老刑警劉巖熊榛,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異腕巡,居然都是意外死亡玄坦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門绘沉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來煎楣,“玉大人,你說我怎么就攤上這事车伞≡穸” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵另玖,是天一觀的道長困曙。 經(jīng)常有香客問我,道長谦去,這世上最難降的妖魔是什么慷丽? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮哪轿,結(jié)果婚禮上盈魁,老公的妹妹穿的比我還像新娘。我一直安慰自己窃诉,他們只是感情好杨耙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著飘痛,像睡著了一般珊膜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宣脉,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天车柠,我揣著相機(jī)與錄音,去河邊找鬼塑猖。 笑死竹祷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的羊苟。 我是一名探鬼主播塑陵,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蜡励!你這毒婦竟也來了令花?” 一聲冷哼從身側(cè)響起阻桅,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兼都,沒想到半個(gè)月后嫂沉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扮碧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年趟章,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芬萍。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尤揣,死狀恐怖搔啊,靈堂內(nèi)的尸體忽然破棺而出柬祠,到底是詐尸還是另有隱情,我是刑警寧澤负芋,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布漫蛔,位于F島的核電站,受9級(jí)特大地震影響旧蛾,放射性物質(zhì)發(fā)生泄漏莽龟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一锨天、第九天 我趴在偏房一處隱蔽的房頂上張望毯盈。 院中可真熱鬧,春花似錦病袄、人聲如沸搂赋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脑奠。三九已至,卻和暖如春幅慌,著一層夾襖步出監(jiān)牢的瞬間宋欺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工胰伍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留齿诞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓骂租,卻偏偏與公主長得像祷杈,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子菩咨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355