検索 - みる会図書館

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

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

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


、 0 祚 ー 0 ツ ゝ = 地 れ 地 新 二 一 wW イ ン プ レ ス R & D [ NextPubIishing ] を ・ Boøk 武 BooK 実 践 ! 最 新 Goog 厄 マ シ ン ラ ニ ン 稿 い い

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


TensorFlow は じ め ま し た 実 践 ! 最 新 G 。 。 gle マ シ ン ラ ー ニ ン グ 2016 年 7 月 29 日 初 版 発 行 ver. 1.0 (PDF 版 ) 2017 年 7 月 14 日 Ver. 1.3 著 者 編 集 人 発 行 人 発 行 有 山 圭 二 山 城 敬 井 芹 昌 信 株 式 会 社 イ ン プ レ ス R & D 〒 101-0051 http:〃nextpublishing.jp/ 東 京 都 千 代 田 区 神 田 神 保 町 一 丁 目 105 番 地 ・ 本 書 は 著 作 権 法 上 の 保 護 を 受 け て い ま す 。 本 書 の 一 部 あ る い は 全 部 に つ い て 株 式 会 社 イ ン プ レ ス R & D か ら 文 書 に よ る 許 諾 を 得 ず に 、 い か な る 方 法 に お い て も 無 断 で 複 写 、 複 製 す る こ と は 禁 じ ら れ て い ま す 。 02016 Keiji Ariyama. AII rights 代 se ハ ℃ d. ISBN978-4-8020-9088-9 、 日 x t P u b 日 、 h ー n 0 NextPubIishing ◎ 本 書 は NextPub ⅱ shing メ ソ ッ ド に よ っ て 発 行 さ れ て い ま す 。 NextPub ⅱ shing メ ソ ッ ド は 株 式 会 社 イ ン プ レ ス R & D が 開 発 し た 、 電 子 書 籍 と 印 刷 書 籍 を 同 時 発 行 で き る デ ジ タ ル フ ァ ー ス ト 型 の 新 出 版 方 式 で す 。 http://nextpublishing.jp/

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


一 方 、 す べ て の デ ー タ を 一 度 に 学 習 さ せ る 「 バ ッ チ 学 習 」 と 言 う 方 法 が あ り ま す 。 こ ち ら は す べ て の デ ー タ を 使 っ て 学 習 す る の で 、 更 新 量 の 変 動 を 抑 え る こ と が で き る 反 面 、 一 度 の 学 習 に か か る 時 間 は 長 く な り ま す 。 今 回 は 、 デ ー タ の 中 か ら 一 定 数 を 抜 き 出 し て 学 習 す る 「 ミ ニ バ ッ チ 学 習 」 を 採 用 し ま し た 。 バ ッ チ 学 習 を 用 い る こ と で 更 新 量 の 変 動 を 抑 え 、 誤 差 の 収 束 を 早 め る 効 果 が 期 待 で き ま す 。 リ ス ト 4.11 は 、 バ ッ チ サ イ ズ を 64 に 変 更 し た プ ロ グ ラ ム で す 。 trai n_placehotder と label—placeholder を 4 次 元 の Tensor に ' 変 更 し て い ま す 。 ニ バ ッ チ に 変 史 し た グ ラ フ 図 4.10: in-top-k labeLplaceho e 「 train—placeholder ・ inpuLimage' total_loss train—op infere nce ユ 「 a i n も す シ て レ 定 ペ 設 オ を の ト ら ウ ち ア bD 【 「 C 6 c し 一 、 bD ら 第 1 寰 . ぎ ダ 一 0 OO レ し 0 イ フ 準 ラ 0 標 グ t.n C 0 ・ 1 ( 【 4 」 6 bD お 5 ス 元 train—placeholder tf. placeholde (t ~ = floa 七 3 sshape= [BATCH—S 工 ZE nameF'i npuei mage* ) 」 ′ -iabetLp ace 0tde r tfVptaceh0tder(tf. inセ3も shåpe91BATCH—SIZE name= 'tabettY eepprob—ptaceholden キ tf•placehotderuwith—defautt(tf.constant( 、 0 ) = = , ame= ? keep=prob') を 第 を 第 、 tO 弋 言 1 ニ 1 OS s train—op '"With$tf Sessfon sess: 第 4 章 CIFAR-IO 奮 闘 記

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)


= = sh 叩 e デ [ 32 ー ~ 32 31 , name= 'trai n—image Iabe 工 こ pl 目 ceholde に = t 、 p acehO 起 9 「 は f t32 。 ー 、 s れ 叩 e = は 新 れ a00 lapel 引 ) 第 0 言 言 00h0 て d 谷 デ [email protected]—defaul€(tf.cons 七 ant て の 一 shape= は name$ keep—probt) }—di tort(train—ptageholde リ ス ト 4.8 は 、 ド ロ ッ プ ア ウ ト 率 ( 正 確 に は 保 持 率 . KeepProbability な の で 注 意 ) と し て @. 5 を 与 え て い ま す 。 リ ス ト 4.8 : train_dropout. py tOss—va ue sess,runCLtrai 0 」 Op feedzdict={ r n こ 0 て aceho て de ~ 、 , = = ' jmage. b te—arra mageÄäbe 一 prob こ p1 言 c 谷 hb100 「 0.5 た だ し 、 評 価 の 時 に は ド ロ ッ プ ア ウ ト を 設 定 し て は い け ま せ ん 。 そ の た め 、 リ ス ト 4.7 で は 、 プ レ ー ス ホ ル ダ を 作 成 す る と き に placeholder_with_defauIt7 を 使 っ て 、 標 準 の 値 を 定 数 ( 1.0 = ド ロ ッ プ ア ウ ト し な い ) に 設 定 し て い ま す 。 表 4.4 は 、 ド ロ ッ プ ア ウ ト (keep_prob=(). 5) を 追 加 し た モ デ ル で 30 工 ポ ッ ク 学 習 し た 場 合 の 正 答 率 で す 。 表 4.4 : ド ロ ッ プ ア ウ ト = 0.5 工 ポ ッ ク 正 答 率 ( % ) 16.9 31.8 40.6 44.1 48.6 10 57.4 15 61 20 622 30 65.5 正 答 率 は 低 下 し た と 言 う よ り 、 ド ロ ッ プ ア ウ ト の 影 響 で 学 習 速 度 が 落 ち た 。 と 言 う 方 が 正 し い で し よ う か 。 あ と も う 少 し 学 習 さ せ れ ば ・ ・ ・ ・ ・ と 言 う 気 持 ち は あ る の で す が 、 今 回 は 30 工 ポ ッ ク に 留 め ま し た ま た 、 ド ロ ッ プ ア ウ ト は 過 学 習 を 防 ぐ 手 法 な の で 、 今 回 の よ う に ラ ン ダ ム 加 工 を 施 し た デ ー タ に は 効 果 が 薄 い 可 能 性 が あ り ま す 。 そ の た め 、 チ ュ ー ト リ ア ル の CIFAR -10 で は ド ロ ッ プ ア ウ ト を 導 入 し て い な い ( す る 必 要 が な い ? ) の だ と 筆 者 は 考 え ま す 。 56 第 4 章 CIFAR-1()Ifi 闘 記

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


リ ス ト 2.15 : 各 工 ポ ッ ク の logits 朝 初 期 状 態 [ の Ⅱ ー 0.0000 、 0 : ー 0.01777996 っ ム 8 2 8 学 1 6 一 〔 8 1 1 「 4 8 」 ~ 6 一 8 」 】 っ 0 7 = ~ -9 ~ 一 6 一 9 ~ 一 工 4 に ノ 「 8 一 8- : ) 1 ア 6 1 4 「 9 〔 ロ 1 8- 8 7 1 ( っ ム 0 ~ っ ム っ ム - : 8 9 一 0 ) 「 0 0 0 0 ( つ 1 っ 0 っ 0 「 つ 0 】 っ 0 -1 CY 1 = 2 に 0 三 1 〕 工 一 ( ) 9 ~ 1 を つ ~ っ 4 1 1 CD 、 ~ 5 7 3 「 , 1 0 2 示 0 0 0 0 「 エ ( 8 ~ 2 チ 3 0 ( 、 6 1 。 5 て ま 8 ~ 815 し り 8 ( 「 6 ~ 8 g 対 な ~ 6 2 ス う 4 2 0 8 〔 6 ~ 」 7 5 、 】 2 8 一 一 0 一 す 判 0 に 4 期 ー 0.02481071 , = 。 。 0.0111508 月 2.4 評 価 (evaluate) 学 習 に よ る 1 。 gits の 値 の 変 化 は 期 待 通 り の も の で し た 。 し か し 、 こ ま で の 良 好 な 結 果 は 「 過 学 習 」 で あ る 可 能 性 を 否 定 で き ま せ ん 。 「 過 学 習 」 と は 、 学 習 し た こ と の あ る デ ー タ ( 画 像 ) に つ い て は 正 し い 答 え が 出 せ て も 、 未 知 の デ ー タ に 対 し て 正 し い 答 え を 返 す こ と が で き な い 状 態 を 言 い ま す 。 未 知 の デ ー タ に 対 し て も 正 し い 答 え が 出 せ る 「 汎 化 性 能 」 を 得 て い る こ と を 確 認 す る た め に 、 「 評 価 用 の デ ー タ セ ッ ト 」 は 「 学 習 用 の デ ー タ セ ッ ト 」 と 分 離 さ れ て い る 必 要 が あ り ま す 。 CIFAR-IO に は 、 評 価 用 の デ ー タ セ ッ ト test-batch . bin が 用 意 さ れ て い ま す 。 図 2.7 : logits と は ー か ら 結 果 を 判 定 す る in—top-k in_top_k label-placeholder train_placeholde 「 'input 」 mage' totaLloss train-op -loss i nference &ain logi ts expand-di ms リ ス ト 2.16 は 、 推 論 の 結 果 logits と 、 label ー placehotder で 与 え ら れ る 正 解 デ ー タ を 元 に 、 推 論 が 正 解 か そ う で な い か を 判 定 す る オ ペ レ ー シ ョ ン (tf. nn. in-top-k) を グ ラ フ に 追 加 し ま す 。 ま た 、 コ マ ン ド ラ イ ン の 引 数 (FLAGS) に テ ス ト デ ー タ を 指 定 す る 「 --test-data 」 を 追 加 し て い ま す 。 36 第 2 章 CIFAR-IO の 学 習 と 評 価

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


著 者 紹 介 ー 有 、 山 : 圭 二 ( あ り や ま け い じ ) 有 限 会 社 シ ー リ ス 代 表 。 Android ア プ リ ケ ー シ ョ ン の 受 託 開 発 や 、 Android に 関 す る コ ン サ ル テ ィ ン グ 業 務 の 傍 ら 、 技 術 系 月 刊 誌 へ の 記 事 執 筆 。 最 近 は 趣 味 で 機 械 学 習 ( デ ィ ー プ ラ ー ニ ン グ ) を 取 り 組 ん で い る 。 著 書 と し て 「 Android studi ( ) で は じ め る 簡 単 Android ア プ リ 開 発 ( 技 術 評 論 社 刊 ) 」 「 TensorFlow は じ め ま し た ( イ ン プ レ ス R & D Next PubIishing) 」 な ど 。 ◎ 本 書 ス タ ッ フ ア ー ト デ ィ レ ク タ ー / 装 丁 : 岡 田 章 志 十 GY デ ジ タ ル 編 集 : 栗 原 翔 表 紙 イ ラ ス ト : 根 雪 れ い ・ 本 書 の 内 容 に つ い て の お 問 い 合 わ せ 先 株 式 会 社 イ ン プ し ス R & D メ ー ル 窓 口 np- [email protected] 件 名 に 「 「 本 書 名 ー 問 い 合 わ せ 係 」 と 明 記 し て お 送 り く だ さ い 。 電 話 や FAX 、 郵 便 で の ご 質 問 に は お 答 え で き ま せ ん 。 返 信 ま で に は 、 し ば ら く お 時 間 を い た だ く 場 合 が あ り ま す 。 な お 、 本 書 の 範 囲 を 超 え る こ 質 問 に は お 答 え し か ね ま す の で 、 あ ら か じ め ご 了 承 く だ さ い 。 ま た 、 本 書 の 内 容 に つ い て は NextPub ⅱ shing オ フ ィ シ ャ ル Web サ イ ト に て 情 報 を 公 開 し て お り ま す 。 http://nextpublishing.jp/

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


.**mport&nsorf OW as tf NUMUCLASSES}S 10 Dde •get—weights(shapev stddev=l. 0 ) : t ge モ ー va 門 目 矼 var bweights% shape ini±ializer=tf. truncated—normat—åniti atizer(stddev=stddev)) # 00n ⅵ det;inference(ämage れ Ode) return va 」 1 戸 = い な 0 、 0 。 ~ t 台 。 、 」 niti 01i = 0r0 。 。 0 ) ー shape 'båases' var = tf get—variable de d4getLbiaseS Shape,r va [email protected] ) : : -return ar ⅳ i 弋 け tf. var 言 b1 谷 ー scopeC ℃ 0 れ vl ツ ) 語 s scope wei ghtse— uget—weåghtsCshape=ßWß< 64 ] → と onV = ー = = Étf. inage—node, wei ghts , stddev 辷 工 0 4 biase 00nV1 paddfng=?SAME ' ) ; : 言 。 t ー い ~ e 朝 4 朝 100 = 0 、 ー 伝 れ n. biasLadd(conV' ~ b7 ases) tf. .nnvretu(bias j=name•copevname や 6 。 ⅱ P00 工 1 •ztfVnn. max 0 矼 ( convl い 3 , 3 , 工 j 、 。 = 。 0 島 00 = [ 0 。 為 新 , padding=%SAME' 厂 れ am も 1P001 工 宅 0 nv2 witWtEVariäb1e—scopeCCOnv2' レ a cope : 。 ー , weights —ge€—weightS(shape=Ü5/" 5 , ・ 64 , = 64 ] stddev=le-4) を 下 onv 弋 新 n. conV2dCP00U い weights get±biases ( 〔 64 ] 1 ) を 1 や s ; 下 ・ 新 n. bias—add(con\/' biases) conv2 = tf. nn. :relu(bias name=scpp_fsname) 第 2 章 CIFAR-IO の 学 習 と 評 価 23

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


sess€run(tf. ー 90a1 こ va 「 iables ゴ ? リ 20 ) ) :o—otat—duration = 0 62 三 b a tc h— byt e—a r ray = も ] batc fo 「 さ P00 厖 ュ n = .range()e FLAGS epoch + め : fo ー 0 = イ れ e い 第 dex ( 5 ) : printC Epo ( h 第 d % 、 を 嘉 &poCh,dfi1enames[fiteÄndexJ)) ー eader —[email protected](fitenames[ffté」ihdexT)— fp 「 indewÄn range([email protected]@@@) を を 卩 ge こ 咢 readeBVVead(i ndex batch—byteuarray .append い m ge; 、 ツ す 0 ä な ay = batch bet. append(imagé 、 い b [@]) を len(batch—byte—array continue ー alue デ る - ess un は モ 「 耳 in ー op , = 弌 0taI ー toss ] , a い 」 ト 工 d6h610e jba tc hu y t e—år Aabeup1eeehOtdef#ätchL1abeU ek eep—p ro b : 0 batch'y モ 0 ー 0 な 0Y0 ct r(j batch;labetvclear( assert 、 貸れ0t np is れ an(toss—v 1u0 ) ; \ 'MOde Rdiverged withAoss も NaN ' print( ユ 0 ー value : 。 % 3 戸 % toss—value) reader. と工0Se ( 厂 : CE'Start$im duration 7&timevtime —export—graph(sess, の BA CH—S 工 ZE : 第 4 章 CIFAR-I()ff 闘 記

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