# HG changeset patch # User Laman # Date 2019-05-06 13:02:49 # Node ID c934d44cdf5c6c41e0776299768ea60ca6ecc122 # Parent 8b30e6dba468af6ca97c17a1e2db530e8bb66518 tensorboard logging, created a configuration file diff --git a/exp/kerokero/config.py b/exp/kerokero/config.py new file mode 100644 --- /dev/null +++ b/exp/kerokero/config.py @@ -0,0 +1,10 @@ +import os +import json +import logging as log + + +log.basicConfig(level=log.INFO,format="%(asctime)s %(levelname)s: %(message)s") +thisDir=os.path.dirname(__file__) + +with open(os.path.join(thisDir,"ftp.json")) as f: + ftp=json.load(f) diff --git a/exp/kerokero/ftp.py b/exp/kerokero/ftp.py --- a/exp/kerokero/ftp.py +++ b/exp/kerokero/ftp.py @@ -1,17 +1,14 @@ import os -import json import ftplib import logging as log -thisDir=os.path.dirname(__file__) -with open(os.path.join(thisDir,"ftp.json")) as f: - cfg=json.load(f) +import config as cfg def push(path): ftp=ftplib.FTP_TLS() - ftp.connect(cfg["host"],cfg["port"]) - ftp.login(cfg["user"],cfg["password"]) + ftp.connect(cfg.ftp["host"],cfg.ftp["port"]) + ftp.login(cfg.ftp["user"],cfg.ftp["password"]) filename=os.path.basename(path) @@ -23,4 +20,4 @@ def push(path): if __name__=="__main__": - push(os.path.join(thisDir,"ftp.py")) + push(os.path.join(cfg.thisDir,"ftp.py")) diff --git a/exp/kerokero/test.py b/exp/kerokero/test.py --- a/exp/kerokero/test.py +++ b/exp/kerokero/test.py @@ -1,4 +1,5 @@ import argparse +import logging as log import numpy as np from keras.models import load_model @@ -6,6 +7,7 @@ from keras.models import load_model from prepare_data import loadDataset,Sample from analyzer.epoint import EPoint from analyzer.corners import Corners +import config as cfg parser=argparse.ArgumentParser() @@ -15,13 +17,15 @@ args=parser.parse_args() model=load_model(args.model) -print("loading data...") +log.info("loading data...") with np.load(args.data) as data: trainImages=data["trainImages"] trainLabels=data["trainLabels"] testImages=data["testImages"] testLabels=data["testLabels"] -print("done") +log.info("done") + +log.info(model.evaluate(testImages.reshape((-1,224,224,1)),testLabels)) for img in testImages: label=model.predict(np.reshape(img,(1,224,224,1))) diff --git a/exp/kerokero/train.py b/exp/kerokero/train.py --- a/exp/kerokero/train.py +++ b/exp/kerokero/train.py @@ -1,14 +1,16 @@ +import os +from time import time import argparse import logging as log import numpy as np from keras.layers import Conv2D,Dropout,Dense,Flatten,MaxPooling2D,BatchNormalization from keras.models import Sequential,load_model +from keras.callbacks import TensorBoard +import config as cfg import ftp -log.basicConfig(level=log.INFO,format="%(asctime)s %(levelname)s: %(message)s") - parser=argparse.ArgumentParser() parser.add_argument("data") parser.add_argument("--load_model") @@ -82,10 +84,11 @@ with np.load(args.data) as data: testLabels=data["testLabels"] log.info("done") +tensorboard = TensorBoard(log_dir=os.path.join(cfg.thisDir,"../logs","{}".format(time()))) for i in range(args.initial_epoch//10,args.epochs//10): - model.fit(trainImages.reshape((-1,224,224,1)),trainLabels,epochs=(i+1)*10,initial_epoch=i*10,batch_size=128,validation_split=0.2) + model.fit(trainImages.reshape((-1,224,224,1)),trainLabels,epochs=(i+1)*10,initial_epoch=i*10,batch_size=128,validation_split=0.2,callbacks=[tensorboard]) path=args.save_model.format((i+1)*10) log.info("saving model...") model.save(path) - if i%2==1: ftp.push(path) -log.info(model.evaluate(testImages,testLabels)) + ftp.push(path) +log.info(model.evaluate(testImages.reshape((-1,224,224,1)),testLabels))