Exemple #1
0
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("#-----------------------------------")
Exemple #2
0
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)