def main(): numActionDirections = 8 actionSpace = [(np.cos(directionId * 2 * math.pi / numActionDirections), np.sin(directionId * 2 * math.pi / numActionDirections)) for directionId in range(numActionDirections)] actionSpace.append((0, 0)) stateDim = 100 actionDim = len(actionSpace) I = 64 J = 60 for K in [0.001, 0.0001, 0.00001]: paramSet = { 'INITIAL_EPSILON': 0.4, 'FINAL_EPSILON': 0.01, 'GAMMA': 0.99, 'REPLAY_SIZE': 10000, 'BATCH_SIZE': I, 'REPLACE_TARGET_FREQ': 20, 'HIDDEN_LAYER_WIDTH': J, 'LR': K, } dqn = dqnModel(stateDim, actionDim, paramSet) trainTask(dqn, actionSpace) print("# batch size:{},width:{},lr:{}".format(I, J, K)) print("#-----------------------------------")
def main(): numActionDirections = 8 actionSpace = [(np.cos(directionId * 2 * math.pi / numActionDirections), np.sin(directionId * 2 * math.pi / numActionDirections)) for directionId in range(numActionDirections)] stateDim = 100 actionDim = len(actionSpace) print(actionDim) I=128 J=60 K=0.0001 paramSet = { 'INITIAL_EPSILON': 0.4, 'FINAL_EPSILON': 0.01, 'GAMMA': 0.99, 'REPLAY_SIZE': 10000, 'BATCH_SIZE': I, 'REPLACE_TARGET_FREQ': 20, 'HIDDEN_LAYER_WIDTH': J, 'LR': K, } dqn = dqnModel(stateDim, actionDim, paramSet) trainTask(dqn,actionSpace)