debug the training process, initialize a nameserver if no nameserver exists

This commit is contained in:
rtz19970824 2017-12-22 13:04:02 +08:00
parent 7f1191ef02
commit e75883a5fb
2 changed files with 20 additions and 5 deletions

View File

@ -203,6 +203,7 @@ class ResNet(object):
iters = 0 iters = 0
while True: while True:
new_file_list = list(set(os.listdir(data_path)).difference(all_file_list)) new_file_list = list(set(os.listdir(data_path)).difference(all_file_list))
if new_file_list:
all_file_list = os.listdir(data_path) all_file_list = os.listdir(data_path)
new_file_list.sort( new_file_list.sort(
key=lambda file: os.path.getmtime(data_path + file) if not os.path.isdir(data_path + file) else 0) key=lambda file: os.path.getmtime(data_path + file) if not os.path.isdir(data_path + file) else 0)
@ -241,8 +242,16 @@ class ResNet(object):
self.saver.save(self.sess, self.checkpoint_path + save_path) self.saver.save(self.sess, self.checkpoint_path + save_path)
def _file_to_training_data(self, file_name): def _file_to_training_data(self, file_name):
with open(file_name, 'r') as file: read = False
with open(file_name, 'rb') as file:
while not read:
try:
file.seek(0)
data = cPickle.load(file) data = cPickle.load(file)
read = True
except Exception as e:
print(e)
time.sleep(1)
history = deque(maxlen=self.history_length) history = deque(maxlen=self.history_length)
states = [] states = []
probs = [] probs = []

View File

@ -50,6 +50,12 @@ if __name__ == '__main__':
# print "Start Name Sever : " + str(start_new_server.pid) # + str(start_new_server.wait()) # print "Start Name Sever : " + str(start_new_server.pid) # + str(start_new_server.wait())
# time.sleep(1) # time.sleep(1)
# start a name server if no name server exists
if len(os.popen('ps aux | grep pyro4-ns | grep -v grep').readlines()) == 0:
start_new_server = subprocess.Popen(['pyro4-ns', '&'])
print "Start Name Sever : " + str(start_new_server.pid) # + str(start_new_server.wait())
time.sleep(1)
# start two different player with different network weights. # start two different player with different network weights.
black_role_name = 'black' + str(args.id) black_role_name = 'black' + str(args.id)
white_role_name = 'white' + str(args.id) white_role_name = 'white' + str(args.id)
@ -137,7 +143,7 @@ if __name__ == '__main__':
file_list.sort(key=lambda file: os.path.getmtime(args.result_path + file) if not os.path.isdir( file_list.sort(key=lambda file: os.path.getmtime(args.result_path + file) if not os.path.isdir(
args.result_path + file) else 0) args.result_path + file) else 0)
data_num = eval(file_list[-1][:-4]) + 1 data_num = eval(file_list[-1][:-4]) + 1
with open("./data/" + str(data_num) + ".pkl", "w") as file: with open("./data/" + str(data_num) + ".pkl", "wb") as file:
picklestring = cPickle.dump(data, file) picklestring = cPickle.dump(data, file)
data.reset() data.reset()
game_num += 1 game_num += 1