Articles

TensorFlowでGPUを使ったMNIST学習をすることが出来ました

 相変わらず、どうやってもCAFFEをGPUで動かすことが出来ない。それなので「そういえば他にもTensorFlowとかあるよな」と思って、ためしてみたらTensorFlowをあっさりとUbuntu16.04にインストールしてGPUによるMNIST学習が出来たので拍子抜けした。ちょっとTensorFlowを試してみようかと思っている所。昨日今日ちょっとやってみただけなのですぐにまた他のことをやりだすかもしれないけど。

日本技術士会/中国本部の技術士一次試験合格者祝賀会に出かけてきました

 去年出かけて二次試験合格者の体験談を聞いたらなんだか「聞いてよかった」と思ったので、私も一応一次試験に合格して「修習技術者」には違いがないので出かけて話を聞いてきました。
 去年、技術士の二次試験に初めてフル参戦してその後にまた話を聞いてみると二次試験を受ける前だった一年前とはまた違った気分で話を聞くことが出来てためになったと思う。もし出来るようであれば今年もまた二次試験に挑戦してみたいと思っています。

 広島駅まで出かけたのでジュンク堂書店に立ち寄ってきました。大きな本屋で棚を見るとためになるものだと思います。広島駅前のフタバ図書で中古のマンガを買ってきて帰りの電車で読んでいました。
 出来るようならばまた明日はGPGPUに挑戦してみたいと思っていますが、疲れるとしんどいので無理せずに休養を取りたいです。

QC検定(品質管理検定)二級の合格証が出てきてよかった

 QC検定(品質管理検定)の二級に2016年3月の試験で合格したのだが、合格証がなんだか見つからなくて探していたのがやっと見つかった。あまりに見つからないので「そもそも私の手元に来ていないのではないか」とすら思った程であったが、しばらく探していてなんとか発掘することが出来た。QC検定一級にも挑戦してみたいとは思っているが、なかなかに難しいのでおいそれと仕掛けるわけにも行かず。やりたいことは色々とあるがとにかくも勉強を頑張りたいと思う。

CUDAで「Hello World」を表示させることが出来ました

 GPGPUに挑戦することにしてみました。
 とりあえず、CUDAで「Hello World」を表示させることが出来ました。これができれば闘えると思う。
 引き続き頑張りたいです。

CaffeとCUDAをUbuntu16.04で同時に動かすことに成功しました

 12月から挑戦していてできなかったことが2ヶ月たってやっと出来た。
 これまでUbuntu14.04ではCaffeは動くけどCUDAが動かせなかった(CUDAを入れるとOSが壊れる)。
 Ubuntu16.04ではCUDAは動くけどCaffeを動かすことができなかった。

 昨日やっとUbuntu16.04でCUDAとCaffeを同時に動かすことに初めて成功した。ただ、まだCaffeはCPUモードでのみ動作でGPUでCaffeを動かすことが出来ていない。それでもこれが出来るだけでも大きな前進であると個人的には思っている。
 焦ってやって上手く出来ることじゃないのでとにかくのんびりと細く長くという気分で今後も続けていきたいと思っている。

改良型のArgoCorse_IchiGo ver3.15が旧版ver2に対して6勝2敗なので多分強くなったんじゃないかと思う

 コンピュータ囲碁のプログラムを考える。修正して旧版と打たせたら8戦打って6勝2敗だったので(黒番と白番を4戦ずつ打ってそれぞれ3勝1敗だった)棋力が向上したんじゃないかなと思っているところ(たかだか8回の対局ではなんとも言えない気もするが、GTPが使えないので対局が一回終わるごとにいちいち手動で操作する必要があり連続対局を自動でできないので数が稼げない)。ここまで来るのもけっこう大変だったのでとりあえず今日の結果に満足しているところです。ただ、まだまだ疑問点とかもあるのでまた明日からも頑張ってプログラムを考えてみたいと思っています。
 ただ、いつものことですが無理して休日に疲弊すると平日とか動くのが辛いので、休養を取ることも重視して動きたいとは思っています。

そうか、これが「メモリリーク」なのかと思った今日このごろ、2/1に囲碁プログラムがメモリを19GB食っていた件について

2/1に書いた「囲碁プログラムがメモリを19GB消費して」という話について。
C/C++のプログラムついて調べていたら「メモリリーク」のことが出てきた。使ったメモリを解放しないのでそれがどんどん溜まってメモリを食いつぶすという話。
「あれ、囲碁プログラムが19GBのメモリを食ったのってこのメモリリークじゃね」と思った。C/C++のテキストを前に読んでいてそういえば書いてあったが、そのときは経験がなかったので分からなかったのだ。
 たしかに序盤は普通に動作する分すげー面倒くさい不具合だなとつくづく思った。
 なんか、勉強になった。というか、16GBのメモリを食いつぶした後でわけも分からずにスワップを30GBも設定した俺って我ながら間抜けじゃね。

囲碁プログラムはGTPに対応させないと試し打ちするのもややこしい

 改良したArgoCorse_IchiGo v3を前のv2と自己対戦させている。v3のほうが優勢な気がするが負けることもあるのでいまいちよく分からない。ただ、GNUGO3.6に全く勝てなかったv2に時々負けている時点でまだ大分弱いのだろうとは思う。それでも少しでも強く出来たらそれだけでも十分だと思う気もする。
 やっぱりGTPに対応させないと外部との対戦が出来ないのでいまいちよく分からないが、なんだか知らないがGTPでの通信がv3では出来ないものである。困ったものである。

コンピュータ囲碁のプログラムがメモリを19GBほど使っていてちょっとびっくりしました

 今日は会社の創立記念日で休みだったのでコンピュータ囲碁のプログラムを考えていた。今週は水曜日が休みで助かった。それなので今日もコンピュータ囲碁のプログラムを考えていました。
 自己対戦を一回40分位でそれを繰り返し6時間以上やっていて、「なんか設定とか間違えているじゃん」と思って、プログラムを修正する。Caffeを使って打つようにしてみたらなんかメモリをやけに食う。安物の自作パソコンなので4GBのメモリ+スワップ4GBだったのだが、50手くらいでメモリを食いつぶして強制終了する。インターネットで調べてUbuntuのスワップを増やす設定を見てとりあえずスワップを+8GBにしてみたが、トータル15GBのメモリも150手くらいで食いつぶしてプログラムが強制終了するので、今度はさらにスワップメモリを+16GBにして合計30GBのメモリ容量で動かしてみた。それでやっと最後まで打ち切ることが出来た。最終的に19GBほどメモリを使っていた。個人的にメモリを19GB食うソフトを初めてみたというか、自分で書いたプログラムが動作にメモリが19GB必要という事にちょっとびっくりしてしまった。こんなことで驚くあたり私もまだコンピュータに疎いのかなと思った。というか、これはあっているのかな。私がなんか間違えているせいで不必要にメモリを食っているんじゃないかという気もしないでもないが、一人でやっているとその辺もさっぱりわからない。

プログラムを書いていて囲碁プログラムが自己対戦で異常終了する事にやっと気がついた

 今日もコンピュータ囲碁のプログラムをちまちまと考える。
 GTPが繋がらないが、コマンドでは動くので自己対戦をさせてみたら35手くらいでメモリを食いつぶして異常終了することに気がついてあれっと思った。序盤は普通に動作していたから気がつなかった。
 どうやらGTPではない部分にも不具合があるらしい。正直良かったと思った。どこが悪いかすらわからない状態よりは、どこが悪いかがわかっている状態のほうがよほど次に進めるので。
 そんなわけで、まずは自己対戦で最後まで打ち切るように囲碁プログラムを書いてみたいと思っています。それが出来たらなにか次に進めるんじゃないかと思って。

コンピュータ囲碁のプログラムを考えるが相変わらずGTPで通信ができず苦戦中

 今日は0時半頃に寝て起きたら15時過ぎだったのでよく寝たなと我ながらびっくりした。それでも休養を取ることは大切なのでよく休めてよかったと思うことにしている。
 今日もコンピュータ囲碁のプログラムを考える。どうやってもGTPの通信ができず困っている。プログラムが上手く動かないとイライラしてしまってそれが辛い。休日にイライラするものでもないのでできるだけのんびりとやっていこうと思う。ほんと、どうしてもダメだったらCGFオープン2016のときのやつでとにかく参戦すればそれで良いのだと思う。プログラム作成で疲弊して平日に動けないと困るので適度に休養を取りながらのんびりとやりたいと思っている。

コンピュータ囲碁のプログラムでGTPのあたりを変えようと考える

 コンピュータ囲碁のプログラムの書いたのがGOGUIに登録できない問題について、おそらくはGTPのあたりに不具合があると思ったのでGTPのあたりを大幅に変更することにして頑張る。現在C言語で書いているのをC++にしようと思っている。
 ただ今日はいまいち気乗りがしないことと、なんだか妙に疲れているので無理をして疲弊しては困るのでのんびりと休養を取ることを優先している。プログラムをボーッと眺めて「どうしようかなー」と思っていることが多い。

英語のSTEP BLUTS試験を受験してきた

 昨年8月に引き続き二回目の受験。最近はテンションが低くて英語の勉強をろくにしていなかったことも有り、いまいち出来が悪かったと我ながら思う。ただ、この試験は参考書や問題集が市販されておらず対策のしようがないため、実戦経験を積むことが今後につながると思うのでなんとか頑張って受験してきた次第。とにかく数をこなすことがこの試験では意味があると思うので出来不出来にかかわらず参戦はしたいと思っているところです。また頑張りたいです。

第10回UEC杯コンピュータ囲碁大会に申し込みを再送というか修正依頼を頼んでみた

 12/25の二回目の締切のときにサーバーがダウンしていて申し込みに必要な情報がわからず記憶を元に申込のメールを送って受理してもらったが、サーバーが復帰してウェブサイトを見ると申込情報に過不足があったので、最終締め切り?の今日に改めて申込みというか申込情報の修正依頼のメールを送付してみた。
 申込み自体は受理してもらったようなので参加はできると思うが、とりあえずできれば懇親会には参加したいと思うのでそういう情報を追記して再送した次第。
 現状で、作りたいプログラムが動作するかどうかはさっぱり未定。現状ではGTPでの通信ができない有様。あと、そもそもCUDAを入れるとUbuntuが安定して動かせない。なんとか3月下旬の当日までに動くようにしたいとは思って頑張る気ではいるが。どうしてもダメだったらCGFオープン2016に出したプログラムで出るしか無いだろうということも覚悟はしている。

コンピュータ囲碁のプログラムを考えてUbuntuで試作機をなんとか作ったけどGNUGOと対局させる試験が現状できない

 今日は朝から夕方までぶっ続けでコンピュータ囲碁のプログラムを書いていてなんとか試作機を作った気がする。これまではWindowsで開発していたが、今回初めてUbuntuで作った。
 それなのだが、Ubuntuで作ったソフトをGTPで動かす方法を今のところ持っていない。それなので、GNUGOと打たせたいのだが打たせる方法が現状ない。CGFオープンのときにRAYの中の人がUbuntuでGOGUIを走らせていたのを思い出して、とりあえずGOGUIを動かしてみようと思ってなんとか頑張ってUbuntuでGOGUIを立ち上げるところまではなんとか出来た。知っている人に聞けばすぐに教えてもらえそうだったが私は一人でやっているのでそれだけのことに何時間もかかったが。それで、作ったプログラムをGOGUIに登録する方法が分からず現在苦戦中。
 CGFオープンでDeepEsparの中の人と山下さんが対局サーバー「CGOS」のことを教えてくれたのでCGOSに繋げないかやってみたが、やっぱり自作プログラムが通信に応答しないので走らない。ただ、これも何時間かやってみてCGOSへのつなげ方はなんか分かってきた気はするが。
 こんな調子でUEC杯に間に合うんかしらんと我ながら思うが、なんとかCGFオープンの時よりは少しでも良いプログラムを作って3月下旬までには間に合わせたいと個人的には思っています。
 それにしても10時間位集中してぶっ続けでプログラムを書いていると目が焦点があわなくなってちょっとびっくりした。思わず布団に横になって休まざるを得なかったほどに。これは目に悪いし体にも悪いよなとつくづく思った。
 できれば日曜日もプログラムを頑張りたいです。というか、UbuntuでGOGUIを使ってGNUGOと対局できるようになりたいです。今までGNUGO3.6に対して十九路で一勝も上げたことがないのでそれをやってみたいのです。GNUGO3.6に対して勝率10%も出せるプログラムを3月下旬までに書けたら私としては上出来だと思う。

CUDAをUbuntuに入れようとして苦戦したり、夏コミC92の原稿を考えたりしている

 とりあえず、CUDAをUbuntuに入れてCaffeを動かすことがどうしても出来ないで今日も悪戦苦闘する。悪戦苦闘してまだ動かせないので発狂しそうになる。
 次の夏コミC92の原稿をちまちまと考える。どこまで出来るかわからないがコミケ/同人誌企画は重要だと思うのでできるだけ頑張りたいと思っている。
 明日も休みなのが本当に嬉しい。ただ、この調子だと明日もCUDAをUbuntuに入れようとして結局動かなくて発狂しそうになって結局疲れたと思いながら仕事に行くことになりそうであるが。というか、みんなCUDA/Caffeを動かすくらいはサクッとできているのか。私はこんなに苦闘しているというのに。「CAPETA」のたしか16巻くらいにあったカペタがF3マシンを初めてドライブしたときの「俺が乗れていないのか」ということをつくづく思う。ここまで出来ないと俺のせいじゃなくてマシンに問題があると思うのだが。

第10回UEC杯コンピュータ囲碁大会への参加申込のメールを送ってみたが、大丈夫かな

 第10回UEC杯コンピュータ囲碁大会への参加申込が本日12/25が締切だったと思うけど、オフィシャルサイトがダウンしていて見れない。それなので申込先のアドレスが分からない状況にある。ついでに申込時の記載情報も確認できない。それなので、とりあえず前に見たときの記憶を元にして、参加したいということを書いたメールを、前に送った問い合わせのメールアドレスと前にやり取りをした大会の実行委員の方に送ってみた。
 流石にオフィシャルサイトがダウンしている状況なので復旧してから数日くらいは参加申し込みを受け付けてくれるんじゃないかと思うというか希望するのだが、とりあえずやれることはやろうということで参加希望の意思を書いたメールをオフィシャルに送った所。

今更だが公開されている囲碁プログラム「Ray」をダウンロードして「GNU GO 3.6」と打たせてみたら十九路で「Ray」が勝ったのでびっくりした

 i5を積んでいる普通のパソコンのCPUシングルスレッドで動かしても「GNU GO 3.6」に勝てるんだなと思ったら、「Ray」はすごいなーとつくづく思いました。私が自分で書いたプログラムで「GNU GO 3.6」と十九路で勝負すると全く歯が立たない有様だと言うのに。
 2016/10/2のコンピュータ囲碁大会「CGFオープン」2日目の十九路部門で、8ソフト参加していて当初5戦予定が結局時間があったので1局増えて6戦やったのだが、参加ソフトの中で唯一「Ray」とは対局しなかった。まあ、勝てるはずがないのでやらなくても良いというか、やるだけ時間の無駄じゃないかとは今でも思うのだけれども。ただ、「俺はコンピュータ囲碁大会でRayと対局したことがあるんだぜ」と言うことが出来ないのは非常に残念である。形式的にでも対局していたらそういうふうに自慢できたのだが。それだけ今でも心残りだ。

CUDAをUbuntu14.04機にインストールすることに(多分)成功したと思う

 今日また6時間位頑張って、なんとかCUDAをUbuntu14.04機にインストールすることに成功したと思う。下のを出すことが出来た。ここまで来るのが本当に長かった。というか、こんなにきついのかとびっくりした。
 GPUのドライバを入れて、その前にUbuntu14.04の標準のグラフィックドライバを事前に止めないと不具合が起きて、それでもUNITYが背景だけの状態でランチャーとかが出ない状態から先に進めず。ようやっとCUDAをインストールしてUbuntu14.04もまともに動く状態にすることが出来た。これをするのにほとんどまる5日かかったんじゃないか。
 というか、私はCUDAを入れて何をしようとしていたのか忘れていた。たしかCaffeをGPUで動かして機械学習にチャレンジしようとしていたはず。これからまたそれを頑張りたいが、この調子だとセッティングをするだけで時間がなくなるような気がする。

*********************
CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 960"
CUDA Driver Version / Runtime Version 8.0 / 7.0
CUDA Capability Major/Minor version number: 5.2
Total amount of global memory: 1996 MBytes (2092957696 bytes)
( 8) Multiprocessors, (128) CUDA Cores/MP: 1024 CUDA Cores
GPU Max Clock rate: 1178 MHz (1.18 GHz)
Memory Clock rate: 3505 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 1048576 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: No
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.0, NumDevs = 1, Device0 = GeForce GTX 960
Result = PASS

Caffeのサンプルプログラムを正常動作させることが初めて出来ました

http://www.yss-aya.com/deep_go.html
↑山下さんの「ディープラーニングで囲碁」のページを見ていて、昨日初めてCaffeの「Detelfさんの学習済みデータを動かす」「4. サンプルを動かしてみる」を動かすことが出来た。やっと出来た。

 CUDAを頑張って入れている。まだ動かないが、あともう少しって手応えは掴んだ感じはする。そう思ってまた振り出しに戻るかもしれないけど。
 次はCUDAでGPUでの計算を実現することが目標です。できれば2016年が終わるまでにそれに成功したら上出来だと思う。

Navigations, etc.

Navigations

FC2カウンター

カウンターfrom2005.1.1

プロフィール

Yutaka ICHIMURA

Author:Yutaka ICHIMURA
 西日本にある民間企業でアマチュア・エンジニアとしてアルバイト中。職業は「勉強屋(二級)」。趣味はアニメ・漫画・ライトノベルなどポップカルチャー全般とモータースポーツ観戦、物理学・機械工学の勉強。
 コメント・TBは歓迎いたしますが、予告なく事前認証制にすることがあります。
 中谷有吾(なかやあるご)の中の人。アニメブロガー西日本組。
 管理人へのメールはargonracing +at+ gmail.comからください(ただし普段使っていないアドレスなのでここからメールを送った場合はコメント欄にその旨を記載していただきますようお願いします)。
 アカウントはmixiは「中谷@無重力」、Facebookは[Yutaka Ichimura]、Twitterは[argonworks]です。全部放置ですが。
 写真は2012/5/22に韓国の釜山でホットクを食べる著者。

最近の記事

月別アーカイブ

カレンダー

05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

ブログ内検索

リンク

http://www.inv.co.jp/~popls/

Powered By FC2ブログ

Powered By FC2ブログ
ブログやるならFC2ブログ

管理者ページ


FC2Ad

Template by Yuma's FC2ブログテンプレート