Exemplo n.º 1
0
def modelTrain(x_data,y_data):

    # now = datetime.utcnow().strftime("%Y%m%d")
    # model_dir = "model/{}/".format(now)
    model_dir = "Model/Regression/"+save_date+"/"

    name = model_dir + gas_type + "_reg"

    try:
        if not (os.path.isdir(model_dir)):
            os.makedirs(os.path.join(model_dir))
    except OSError as e:
        if e.errno != errno.EEXIST:
            raise

    start = timeit.default_timer()
    before = 0

    x_data = np.reshape(x_data, (-1, 1, 6))
    y_data = np.reshape(y_data, (-1, 1))

    x_data = torch.Tensor(x_data).float()
    y_data = torch.Tensor(y_data).float()

    input = len(x_data[0])
    hidden = 100
    hidden2 = 500
    hidden3 = 100
    hidden4 = 300
    hidden5 = 500

    output = 1

    epoch = 20000
    learning_rate = 0.001
    batch_size = 10

    cnn = CNN(input, output, [1,30, 30, -1, 10], [hidden, hidden2, hidden3, hidden4, hidden5], kernel_size=2, stride=2, padding=1, batch_size = batch_size, softmax=False)

    for step, loss in cnn.learn(x_data, y_data, epoch=epoch, learning_rate=learning_rate, loss_func=MSELoss):
        if step % 1000 == 0:
            gap = loss.tolist() - before
            before = loss.tolist()
            pick = timeit.default_timer()
            time_gap = pick-start
            print('step : %d, loss : %.10f, loss gap = %.10f, seconds = %d' %(step,loss.tolist(),gap,time_gap))
        if loss==0:
            gap = loss.tolist() - before
            pick = timeit.default_timer()
            time_gap = pick - start
            break

    print('step : %d, loss : %.10f, loss gap = %.10f, seconds = %d' % (step, loss.tolist(), gap, time_gap))
    save_model(cnn, name+'.pkl')
from datetime import datetime
Exemplo n.º 3
0
from datetime import datetime