検索 - みる会図書館

検索対象: TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)から 73件ヒットしました。

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


図 3.1 : フ ィ ル タ ー の 初 期 値 学 第 3 章 デ ー タ 保 存 と フ ィ ル タ ー の 可 視 化

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


目 次 本 書 に つ い て ・ 第 1 章 TensorFIow の 基 礎 ・ 1.1 TensorFlow と は ・ ・ 1.2 デ ー タ フ ロ ー グ ラ フ ・ グ ラ フ の 構 築 ・ ・ グ ラ フ の 実 行 ・ ・ 1.3 変 数 と プ レ ー ス ホ ル ダ ー 変 数 ・ ・ プ レ ー ス ホ ル ダ ー 1.4 テ ン ソ ル (Tensor) Rank と Shape, Type ・ ・ 1.5 TensorBoard に よ る グ ラ フ の 可 視 化 ・ グ ラ フ の 書 き 出 し ・ ・ TensorBoard の 起 動 ・ 第 2 章 CIFAR-IO の 学 習 と 評 価 ・ ・ 2.1 デ ー タ の 読 み 込 み ・ ・ デ ー タ の 入 手 ・ ・ CIFAR-IO の デ ー タ 構 造 ・ ・ 読 み 込 み と 構 造 変 更 ・ ・ PNG 形 式 で 書 き 出 し ・ ・ 2.2 推 論 (inference) モ デ ル の 構 造 ・ ・ 推 論 の 実 行 ・ ・ 2.3 学 習 (learn) 最 適 化 ア ル ゴ リ ズ ム (Optimizer) 学 習 の 結 果 ・ ・ 2.4 評 価 (evaluate) 第 3 章 デ ー タ 保 存 と フ ィ ル タ ー の 可 視 化 ・ ・ 3.1 学 習 デ ー タ の 保 存 ・ ・ 変 数 ・ ・ グ ラ フ + 変 数 ・ ・ 32 フ ィ ル タ ー の 可 視 化 ・ ・ 変 換 し た フ ィ ル タ ー 画 像 ・ 1 11 、 1 1 11 11 一 8 一 8 一 8 -8 0- ワ 朝 9 、 ワ 3 5 5 、 6 一 0 -0- 0- 1 -4 、 6 第 4 章 CIFAR -10 奮 闘 記 ・ ・ 4.1 正 規 化 層 を 追 加 す る ・ ・ ・ 48 ・ ・ 48 目 次 2

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


ァ ー タ 保 存 と フ ィ ル タ ー の 可 視 化 第 3 章 第 2 章 で は 、 CIFAR -10 の デ ー タ の 読 み 込 み と 多 層 CNN の モ デ ル を 使 っ た 推 論 と 学 習 、 評 価 に つ い て 説 明 し ま し た 。 し か し 、 せ つ か く 時 間 を か け て 学 習 し て も セ ッ シ ョ ン が 終 わ る と パ ラ メ ー タ ー は 消 え て し ま い ま す 。 こ の 章 で は 、 学 習 し た パ ラ メ ー タ ー ( 変 数 ) や グ ラ フ を 保 存 す る 方 法 や 、 フ ィ ル タ ー を 可 視 化 す る 方 法 に つ い て 解 説 し ま す 。 3.1 学 習 テ ー タ の 保 存 Tens 。 rFI 。 w で 保 存 す る デ ー タ に は 大 き く 分 け て 「 変 数 」 と 「 グ ラ フ 」 が あ り ま す 。 変 数 セ ッ シ ョ ン に 紐 付 い て い る 変 数 を 「 チ ェ ッ ク ポ イ ン ト 」 と し て 保 存 す る に は save r ク ラ ス を 使 い ま す 。 保 存 し た チ ェ ッ ク ポ イ ン ト は 、 あ と か ら 読 み 込 ん で 評 価 を し た り 、 訓 練 を 継 続 し た り で き ま す 。 チ ェ ッ ク ポ イ ン ト の 保 存 に は saver . save メ ソ ッ ド を 使 い ま す 。 リ ス ト 3.1 で は 、 保 存 す る 変 数 の あ る セ ッ シ ョ ン と 保 存 先 の デ ィ レ ク ト リ 、 ス テ ッ プ 数 に 現 在 の 工 ポ ッ ク を 指 定 し て い ま す リ ス ト 3.1 : train. py saver tf. train. Saver(tf. global—variabtes()) with tf. Session() as sess: sess. run(tf.globat—variables—initializer()) totat—duration = 0 for epoch in range()v FLAGS. epoch + 1 # 省 略 tf. summary. FileWriter(FLAGS. -checkpoi nt—dir, sess ・ graph) saver. save (sess , FLAGS. checkpoint—di global—step=epoch)- チ ェ ッ ク ポ イ ン ト の 保 存 先 に は フ ァ イ ル で は な く デ ィ レ ク ト リ を 指 定 し ま す 。 ス テ ッ プ 数 の 指 定 (global-step) は オ プ シ ョ ン で す が 、 指 定 し た 数 値 が フ ァ イ ル 名 に 付 加 さ れ る の で 、 工 ポ ッ ク ご と に チ ェ ッ ク ポ イ ン ト を 保 存 し て お き た い 場 合 な ど に 便 利 で す 。 40 第 3 章 デ ー タ 保 存 と フ ィ ル タ ー の 可 視 化

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


fo 「 fite in file_list: eval(fite) get ー tens 。 r ー by ー name で グ ラ フ か ら オ ペ レ ー シ ョ ン を 取 り 出 す こ と が で き ま す 。 リ ス ト 3.5 で は 、 get—tensor—by—name('output/logits:@') を 使 っ て オ ペ レ ー シ ョ ン logits を グ ラ フ か ら 取 り 出 し て い ま す 。 こ こ で 指 定 す る オ ペ レ ー シ ョ ン 名 は 、 名 前 1 。 gits だ け で な く イ ン デ ッ ク ス を つ け る 必 要 が あ る の で 注 意 が 必 要 で す 。 ま た 、 feed ー dict の キ ー に オ ペ レ ー シ ョ ン 名 を 指 定 す る と 、 指 定 の オ ペ レ ー シ ョ ン の 出 力 を 置 き 換 え る こ と が で き ま す 。 プ ロ グ ラ ム で は 、 input_image:@ を 指 定 す る こ と で 、 プ レ ー ス ホ ル ダ ー input ー image に 画 像 デ ー タ を 指 定 し て い ま す 。 な お 、 同 じ プ ロ セ ス で 複 数 回 imp 。 rt ー graph ー def を 実 行 し て も 2 度 目 か ら は グ ラ フ が 反 映 さ れ ま せ ん 。 そ の た め 、 リ ス ト 3.5 で は 、 最 初 に tf. reset_default_graph() を 実 行 し て グ ラ フ を リ セ ッ ト し て い ま す 。 3.2 フ ィ ル タ ー の 可 視 化 パ ラ メ ー タ ー が 最 適 化 ア ル ゴ リ ズ ム に よ っ て 更 新 さ れ る こ と は す で に 述 べ ま し た ー で は フ ィ ル タ ー を 可 視 化 す る こ と で 、 学 習 に よ っ て パ ラ メ ー タ ー が 変 化 し て い る こ と を 確 認 し ま す 。 1 番 目 の 畳 み 込 み 層 に は 、 [ 5X5X3 ] の 大 き さ の フ ィ ル タ ー が 64 枚 あ り ま す 。 こ れ ら を 画 像 に 変 換 し て 、 フ ィ ル タ ー の 変 化 を 視 覚 的 に 捉 え て み ま し よ う リ ス ト 3.6 : visualize_weights. py # coding: UTF-8 fro =future -from future_ from __future import absolute—import nmport division 6mport pri nt—functlom *mportu OS importftensorflow as tf from P 工 Wimport 工 mage import numpy .as np tf. appeftags . FLAGS FLAGS tf,app. flags. DEF 工 NE—string('graph.fi1e' 引 None, ” 処 理 す る グ ラ フ フ ァ イ ル の バ ス " ) F 工 LTER_COUNT = 64 GR 工 D_S 工 ZE WIDTH 8 44 第 3 章 デ ー タ 保 存 と フ ィ ル タ ー の 可 視 化

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


本 書 に つ い て 本 書 は 技 術 書 オ ン リ ー 即 売 会 「 技 術 書 典 (https://techbookfest.org/) 」 で 頒 布 さ れ た 同 名 出 版 物 を 本 書 の 構 成 筆 者 が 、 TensorFlow に 挑 戦 し て 、 七 転 八 倒 し た 成 果 を ま と め た も の で す 。 こ の 本 は 、 TensorFI 。 w が オ ー プ ン ソ ー ス で 公 開 さ れ る ま で 「 機 械 学 習 」 に 触 れ た こ と が な か っ た 底 本 と し て 、 修 正 等 を 行 い 制 作 さ れ ま し た 。 ソ フ ト ウ ェ ア は バ ー ジ ョ ン ア ッ プ さ れ る 場 合 が あ り 、 本 書 で の 説 明 と 機 能 内 容 な ど が 異 な っ て し ・ Python 3.6 (macOS sierra) / 3.6 (Ubuntu 16.04 LTS) ・ TensorFlow 1.1.0 本 書 は 次 の バ ー ジ ョ ン で の 動 作 を 確 認 し て い ま す 。 ソ フ ト ウ ェ ア の バ ー ジ ョ ン y.org/) を 参 照 し て く だ さ い 。 ま た 、 計 算 ラ イ プ ラ リ Numpy も 使 用 し て い ま す 。 必 要 に 応 じ て リ フ ァ レ ン ス (http://www.nump ま す 。 本 書 は 、 読 者 に プ ロ グ ラ ミ ン グ 言 語 「 Python 」 に 関 す る 基 本 的 な 知 識 が あ る こ と を 前 提 に し て い 前 提 知 識 最 後 に 、 認 識 精 度 を 上 げ る た め に い く つ か の 取 り 組 み を し ま す 。 タ ー の 変 化 を 視 覚 的 に 提 え ま す 。 モ デ ル と パ ラ メ ー タ ー の 保 存 と 読 み 込 み 方 法 。 ま た 、 フ ィ ル タ ー の 可 視 化 な ど を 通 じ て パ ラ メ ー る 推 論 と 学 習 、 評 価 を 実 装 し ま す 。 次 に 、 画 像 の 多 ク ラ ス 分 類 問 題 「 CIFAR-IO 」 を 題 材 に 「 畳 み 込 み ニ ュ ー ラ ル ネ ッ ト ワ ー ク 」 に よ 本 書 で は 、 ま ず 始 め に Tens 。 rFI 。 w の 基 本 で あ る デ ー タ フ ロ ー グ ラ フ に つ い て 解 説 し ま す 。 ま う こ と も あ り 得 ま す 。 本 書 ご 購 入 の 前 に 、 必 ず バ ー ジ ョ ン を ご 確 認 く だ さ い 。 URL の フ ォ ー ム か ら ご 連 絡 く だ さ い 。 サ ン プ ル コ ー ド ・ サ ポ ー ト サ ン プ ル コ ー ド は 次 の URL で 配 布 し て い ま す 。 ま た 、 本 書 に 関 し て お 気 づ き の こ と が あ れ ば 、 同 4 http.〃 g00. g レ forms/21sX177eJ3CpNKngl 本 書 に つ い て

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


メ min = - = = = , を = り p. ami n(wefghts•data np.amax(weights data) x_ma X 、 gh セ s 0 ー tO ー 1 ghts—data ト xumih)? x—ma 文 を を n ) 、 = = eigh セ 、 0 」 to ー ネ 55 」 、 0t8 = we す ght 釭 0 ユ 0 ユ む 55 ) ・ 0 yp り 0 5 0t8 ) eimageLdata 第壑np.transpose(weights—@—-toæ255—uint8n [ 3 , ~ 1 , つ 工 ) = eturneimage—datå de ー make•padding(image—data) : åst for data i n image data: modes 辷 Ohs モ an ふ 00n an モ ー a ues= の lisgsappend(data) eturn 1 st イ 子 一 na me_ ー ー main ー yj リ 言 て i を e ( F [ Å GS. graph> リ ス ト 3.6 の プ ロ グ ラ ム は 、 読 み 込 ん だ グ ラ フ か ら 取 得 し た オ ペ レ ー シ ョ ン convl / weights : @ の eval ( ) を 実 行 し て い ま す 。 evat ( ) は 、 オ ペ レ ー シ ョ ン を 現 在 の セ ッ シ ョ ン で 実 行 ( run) す る の と 同 じ 効 果 が あ り ま す 。 取 得 で き る 値 (weights-data) は 、 そ の ま ま で は float32 の 浮 動 小 数 点 の 値 な の で 、 _color 関 数 で 値 を @ー 255 の 範 囲 に 変 換 し て い ま す 。 ー make ー padding 関 数 で 各 フ ィ ル タ ー に 1 ピ ク セ ル の パ デ ィ ン グ を 設 定 し て い ま す 。 変 換 し た フ ィ ル タ ー 画 像 リ ス ト 3.6 の プ ロ グ ラ ム で 画 像 に 変 換 し た フ ィ ル タ ー の 画 像 で す 。 初 期 状 態 と 学 習 し た 後 で 、 フ ィ ル タ ー が 変 化 し て い る こ と が わ か り ま す 。 1. Goog 社 が オ ー プ ン ソ ー ス で 公 開 し て い る マ ル チ プ ラ ッ ト フ ォ ー ム の バ イ ナ リ シ リ ア ラ イ ザ ー 46 第 3 章 デ ー タ 保 存 と フ ィ ル タ ー の 可 視 化

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


1 .5 TensorBoard に よ る グ ラ フ の 可 視 化 TensorFIow に は 、 強 力 な 可 視 化 ツ ー ル 「 TensorBoard 」 が 搭 載 さ れ て い ま す 。 TensorBoard を 使 え ば グ ラ フ を 可 視 化 し て 、 Web プ ラ ウ ザ 上 で 見 る こ と が で き ま す 。 グ ラ フ の 書 き 出 し TensorBoard で 読 み 込 め る 形 式 で デ ー タ を 出 力 し ま す 。 リ ス ト 1 . 1 1 : TensorBoard に テ ー タ を 書 き 出 す cOn 土 長 = tf. constant(2 薯 ℃ 0 n s t 2 . ℃ ons 七 an モ て ) fGddCconst1 , COnst2) add 0 muuop = tf. multipt (add—op ー ー で 0 セ 2 withß±fVSession ( ) as sesst mul 言 resu て す い 舅 ad =result ・ prnnt(mul—resutt) print (add;r su1 gsummary. Fi1eW 戸 te を い 第 / を = い sess.4graphE リ ス ト 1.11 を 実 行 す る と 、 ス ク リ プ ト と 同 じ デ ィ レ ク ト リ に TensorBoard 用 の フ ァ イ ル 5 が 作 成 さ れ ま す 。 TensorBoard の 起 動 次 に 、 TensorBoard を 起 動 し ま す 。 TensorFlow が イ ン ス ト ー ル さ れ て い れ ば 、 コ マ ン ド tensorboard で 起 動 で き ま す 。 引 数 ー ー logdir に は 、 tf. summary. FiIewriter に 指 定 し た 出 力 先 の デ ィ レ ク ト リ を 指 定 し ま す 。 sess. 師 u ↓ こ 00 ädd—opj ー logdir = [ TensorBoard 用 の フ ァ イ ル が あ る デ ィ レ ク ト リ ] $ tensorboard Starting TensorBoard b ' 16 ' on port [email protected]@6 (You can navigate tO http://@ . @ . @ . @:[email protected]@6) プ ラ ウ ザ で http : / ハ ocathost : [email protected]@6 に ア ク セ ス し て 、 上 部 メ ニ ュ ー か ら 「 GRAPH 」 を 選 択 す る と 、 構 築 し た グ ラ フ 画 像 が 表 示 さ れ ま す 。 画 像 を 見 れ ば 、 オ ペ レ ー シ ョ ン 同 士 が ど う 結 び つ い て い る の か 視 覚 的 に 確 認 す る こ と が で き ま す 。 16 第 1 章 TensorFlow の 基 礎

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


図 1 .6 : TensorBoard で 可 視 化 し た グ ラ フ Mu1 CO t ー 1 Const CO t ー 1 ま た 、 グ ラ フ を 構 成 す る 各 オ ペ レ ー シ ョ ン を ク リ ッ ク す る と 、 詳 細 な 情 報 を 確 認 で き ま す 。 た と え ば 図 1.7 を 見 れ ば 、 オ ペ レ ー シ ョ ン Mul は 、 オ ペ レ ー シ ョ ン 「 Add 」 と 定 数 「 Const_1 」 の 入 力 を 受 け て い る こ と が わ か り ま す 。 図 1 7 : オ ペ レ ー シ ョ ン Mul の 詳 細 を 表 示 0 Mul 0 の れ : Mu ま Attributes ( 1 ) ( 対 p ぎ ゞ DT 」 NT3 幻 叫 s ② Mul 50 CO な 1 ConsL1 0 瞰 pu お ( の mo 鴨 を 了 印 い CO n st ConsL1 こ の 他 に も TensorBoard に は 、 学 習 中 の モ デ ル の パ ラ メ ー タ ー を グ ラ フ と し て 表 示 す る な ど 、 便 利 な 機 能 が た く さ ん あ り ま す 。 TensorBoard の 詳 細 は 、 Web サ イ ト 6 を 参 照 し て く だ さ い 。 1 . モ バ イ ル 、 ポ ー ド ・ コ ン ヒ ・ ユ ー タ ー で の 動 作 は 訓 練 ・ 学 習 済 の モ デ ル を 使 っ た 認 識 ( 評 価 ) を 前 提 と し て い ま す 2. tf. global-variables-initialize 「 () は 、 バ ー シ ョ ン 1.0.0 以 前 は tf. initialize-all-variables() と い う 名 称 で し た 3. た た し Convolutional Neural Network で 処 理 す る 場 合 は tf. float32 に 変 換 す る 必 要 が あ り ま す https://www.tensorflow.org/programmers_guide/dims_types 4. TensorFlow Tensor Ranks. Shapes. and Types 5. こ の フ ァ イ ル は ど ん ど ん 増 え て い く の で 、 古 い も の を 定 期 的 に 消 す か 、 出 力 先 の デ ィ レ ク ト リ を 分 け る こ と を お 勧 め し ま す https://www.tensorflow.org/get_started/summaries and tensorboard 6. TensorBoard Visualizing Learning TensorFlow の 基 礎 第 1 阜 17

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


FLAGS = tf•app. flags. FLAGS tf.app. flags. DEF 工 NE—string('graph_dir' , 一 None, ” 処 理 す る グ ラ フ フ ァ イ ル の あ る パ ス 吩 tf. app.flags . DEF 工 NE—string( 'test—data' ' ./data/test—batch. bin' ー 第 テ ス ト デ ー タ の バ ス リ ) def eval(graph—file) : # 現 在 の グ ラ フ を リ セ ッ ト te. reset—default—graph ( ) 'rb') as f: with tf.gfi te €FastGFite(graph—fiIe , graph—def = tf. GraphDef() graph—def. ParseFromString(). read()Y tf. import—graph—def(graph-def, name= labets = tf. ptaceh0tder(tf.int32, shape=CI], name=91abet') tf. get—default—graph ( ) ・ get—tensor—by—name( 'output/logits: 0 ' ) logits top—k—op デ gfenn. in—top—k(logits, labels 1 ) with tf. Session() as sess: 三 image—reader = Ci [email protected](FLAGS.test—data) true_count ッ for index in range(), 1e00e ) : image = = image—reader. read (index)- sess. run(top—k—op , feed—dict*{ inputzimage : 0 ' : image . image, labels: image.labet, predictions true—count ー + np. sum(predictions) (graph—file, ー (true—count / 10000. の ) ) printC96sy96. ,2f' 。 ・ *mage—reader. close( ) -if こ ma 1 n file—list = gtob•g10b(FLAGS. graph—dir+u ' ☆ . pb') 第 3 章 デ ー タ 保 存 と フ ィ ル タ ー の 可 視 化

TensorFlowはじめました 実践! 最新Googleマシンラーニング (NextPublishing)


.def=visuatize(graph—file)• asename ー OS 、 pathvbasename(graph=file) やat域ド~~9S. path'dirnamecgraphæfile) 第 ith 薯 f 、 gf れ e. FastGFite(grapn—fi ? 了 b ? ) ・ イ: g p い こ d き 仁 , ~ 。 ー t 、 G r a phDef(Y agraph=defeParseFromString(fLreadC)) 、 一 = tf 、 import—graphudef(gfäphudef wn thftf.Sessf on()2 、 for-nod nsse 与 与 . p い こ d e f. node : 。 = ー = = ー p 門 れ t (nod e me ) と 010 f()e i ghts—d at a ma ge=da ta ~ *mage—data 洋 一 make—paddi n い mageudata # F 工 L な 工 OUN を - 個 の フ ツ 元 タ → を グ リ ド に 整 形 000 , 、 、 range ( 000 00L 00 、 ) ~ 00 = 0 = = = : ; 、 : : 、 、 、 物 ; = 、 stärt 三 = = = 。 1 工 end = start 夲 当 = = - -row-<np.hstaek(imagezdatalstarvendl) 、 f -xows NO n et = OWS 三 を OW, etsev ド (rows 、 宅 R 工 D S ZE HE 工 GHT• 8 with 一 、 0P00 ( 10 印 ath , ー = 00d0 = ' 0 い ) ! 0 イ p , = を を 冫 = = : = 0 を 00 第 資 丿 = 第 一 爰 こ ! = jmagesfromarray( rows)•save ( け def に C010 に hts data) : 第 3 章 デ ー タ 保 存 と フ ィ ル タ ー の 可 視 化 45