Skip to content

Commit 394488a

Browse files
committed
modify file open option
1 parent f8ff1dd commit 394488a

File tree

5 files changed

+17
-13
lines changed

5 files changed

+17
-13
lines changed

README.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ PyaqはPythonのみで実装された囲碁プログラムです。
2020

2121
TensorFlowの導入は[UbuntuにTensorFlowをインストール](https://qiita.com/yudsuzuk/items/092c38fee18e4484ece9)を参考にしてください。
2222
TensorFlowでGPUを用いる場合は
23-
- CUDA 8.0
24-
- cuDNN 6.0
23+
- [CUDA Toolkit 9.0](https://developer.nvidia.com/cuda-90-download-archive)
24+
- [cuDNN v7.0](https://developer.nvidia.com/cudnn)
2525

26-
をインストールしておく必要があります。
27-
導入は[CUDA 8.0とcuDNN 6をUbuntu 16.04LTSにインストールする](https://qiita.com/JeJeNeNo/items/05e148a325192004e2cd)を参考にしてください
26+
をインストールしておく必要があります。また、nVidia製の[CUDA Capability](https://developer.nvidia.com/cuda-gpus)3.5以上のグラフィックボードが必要です。
27+
CUDA導入は[CUDA 8.0とcuDNN 6をUbuntu 16.04LTSにインストールする](https://qiita.com/JeJeNeNo/items/05e148a325192004e2cd)などを参考にしてください(注:リンク先の場合とバージョンが異なります)
2828

2929
次に、ソースコードをダウンロードします。
3030
```
@@ -68,7 +68,6 @@ $ ./pyaq.py --self --random
6868
1 X . X O O O O O . 1
6969
A B C D E F G H J
7070
71-
7271
result: W+16.0
7372
```
7473

@@ -88,6 +87,7 @@ $ ./pyaq.py --learn
8887
```
8988

9089
GPUなしで学習させたい場合は```--cpu```オプションを追加してください。
90+
(ただし、CPUのみの学習は十分にテストされていません。)
9191

9292
```
9393
$ ./pyaq.py --learn --cpu
@@ -135,6 +135,8 @@ progress: 2.70[%] 13.4[sec]
135135
2.5%ごとにtestデータの評価を行います。 ```policy```は棋譜の次の手とニューラルネットワークが出力する手との一致率、```value```は棋譜の勝敗とネットワークが出力する評価値(-1~+1)の誤差(Mean Squared Error)を表します。 最終的に、testデータでpolicyが57%、valueが0.36程度になるようです。
136136
学習が完了すると、パラメータファイル```model.ckpt```が保存されます。
137137

138+
ネットワークモデルの```BLOCK_CNT``````FILTER_CNT```、または盤面の```KEEP_PREV_CNT```などを変更したり、モデルの形を変えたり、オリジナルの棋譜データを使用することで、より強力なパラメータを生成できる可能性があります。 興味がある方は、あなただけの最強のネットワーク作りに挑戦してみましょう。
139+
138140
## 3. 自己対戦をさせてみる(コンソール)
139141

140142
コンソール上で学習したモデルを使って、まず探索なしの自己対戦をさせてみます。
@@ -245,9 +247,11 @@ move count=3: left time=0.0[sec] evaluated=104
245247

246248
## 4. GoGuiで対局する
247249

250+
学習をしていない人は、学習済みのデータファイル```Pyaq/pre_train```にある```/model.ckpt``````Pyaq/```にコピーしてください。
251+
248252
[GoGui](https://sourceforge.net/projects/gogui/files/gogui/1.4.9/)を使ってGUIでの対局を行います。
249253
メニュー>対局>碁盤サイズを「9」に設定した後、
250-
メニュー>プログラム>新規プログラムから実行コマンドとワーキングディレクトリを登録します
254+
メニュー>プログラム>新規プログラムから「コマンド」と「ワーキングディレクトリ」を登録します
251255

252256
![resister](https://user-images.githubusercontent.com/32036527/36086431-acdf1168-100f-11e8-9127-adc138b3fa3d.png)
253257

board.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ def score(self):
303303
return stone_cnt[1] - stone_cnt[0] - KOMI
304304

305305
def rollout(self, show_board=False):
306-
while self.move_cnt < EBVCNT * 1.5:
306+
while self.move_cnt < EBVCNT * 2:
307307
prev_move = self.prev_move
308308
move = self.random_play()
309309
if show_board and move != PASS:
@@ -355,7 +355,7 @@ def feature(self):
355355

356356
return feature_[rv_list, :]
357357

358-
def get_hash(self):
358+
def hash(self):
359359
return (hash(str(self.color.data)) ^
360360
hash(str(self.prev_color[0].data)) ^ self.turn)
361361

@@ -366,4 +366,4 @@ def info(self):
366366
if self.legal(v) and not self.eyeshape(v, self.turn):
367367
cand_list.append(ev2rv(v))
368368
cand_list.append(ev2rv(PASS))
369-
return (self.get_hash(), self.move_cnt, cand_list)
369+
return (self.hash(), self.move_cnt, cand_list)

learn.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def average_gradients(tower_grads):
6666

6767
def stdout_log(str):
6868
stdout.write(str)
69-
log_file = open("log.txt", "aw")
69+
log_file = open("log.txt", "a")
7070
log_file.write(str)
7171
log_file.close()
7272

pyaq.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
if not random:
4747
tree = search.Tree("model.ckpt", use_gpu)
4848

49-
while b.move_cnt < BVCNT * 1.5:
49+
while b.move_cnt < BVCNT * 2:
5050
prev_move = b.prev_move
5151
if random:
5252
move = b.random_play()
@@ -75,7 +75,7 @@
7575
else:
7676
winner = "B" if score > 0 else "W"
7777
result_str = "%s+%.1f" % (winner, abs(score))
78-
sys.stderr.write("\nresult: %s\n" % result_str)
78+
sys.stderr.write("result: %s\n" % result_str)
7979

8080
else:
8181
learn.learn(3e-4, 0.5, sgf_dir="sgf/", use_gpu=use_gpu, gpu_cnt=1)

search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ def search_branch(self, b, node_id, route):
147147
next_id = self.create_node(b.info(), prob_[0])
148148
next_nd = self.node[next_id]
149149
nd.next_id[best] = next_id
150-
nd.next_hash[best] = b.get_hash()
150+
nd.next_hash[best] = b.hash()
151151

152152
next_nd.total_value -= nd.value_win[best]
153153
next_nd.total_cnt += nd.visit_cnt[best]

0 commit comments

Comments
 (0)