コード例 #1
0
def sample():
    # 加载模型需要的词典、字典
    dictionary_path = os.path.join('Dictionary', 'converter.pkl')
    if os.path.exists(dictionary_path):
        converter = TextConverter(dictionary_path)  # 创建对象
        print('词典、词表加载完成!')
    else:
        converter = TextConverter()  # 创建对象
        converter.save_to_file(dictionary_path)  # 将词典保存到磁盘
        print('词典、词表创建完成!')

    # 更新模型参数路径
    if os.path.isdir(Flags.checkpoint_path):
        Flags.checkpoint_path = tf.train.latest_checkpoint(Flags.checkpoint_path)

    # 创建对象lstm
    lstm = LSTM(sampling=True, n_classes=converter.vocab_size(), n_inputs=Flags.n_inputs,
                lstm_size=Flags.lstm_size, n_layers=Flags.n_layers)
    # 加载模型参数
    lstm.load(Flags.checkpoint_path)

    # 将起始输入转化为数组
    start_string_arr = []
    for i in Flags.start_string:
        start_string_arr.append(converter.word_to_int(i))
    # print(start_string_arr)#[3535, 3390]
    # 通过起始字符串返回模型预测的数组
    text_arr = lstm.sample(Flags.max_length, start_string_arr, converter)

    out_put = [converter.int_to_word_table[i] for i in text_arr]
    print(''.join(out_put))
コード例 #2
0
def trainModel(df):
    df.shape = (int(22500 / 10), 10, 2)
    nn = LSTM(10, 2, 22500)
    for i in range(20):
        out = "Iteration " + str(i)
        print(out)
        nn.train(df)
        yhat = nn.score(df)
        df.shape = (22500, 2)
コード例 #3
0
def run(args):
    for mt in testModels3:
        import LSTM
        model = mt[0]
        test = mt[1]
        print(test)
        if len(mt) == 3:
            args.sequence_size = mt[2]
        args.test = test
        LSTM.main(args, model)
コード例 #4
0
def prepare_data_simple(df):
    normalize_DTG(df)
    data = df[NAMES].values
    #denormalize_DTG_np_nd(data)
    #print(data[:10])
    #print(df[:10])

    x, y = LSTM.getSeriesData(data, WINDOWSIZE, elementdim=data.shape[1])
    training_x, validation_x, test_x = LSTM.split_data(x,
                                                       val_size=0.0,
                                                       test_size=0.0)
    training_y, validation_y, test_y = LSTM.split_data(y,
                                                       val_size=0.0,
                                                       test_size=0.0)
    return training_x, training_y, validation_x, validation_y, test_x, test_y
    def runLstm(self,text,smooth_flag,percentage):
        
        try:
            
            self.progressBar['maximum']=100
        
            percentage=percentage/100
            #timeSeries
           
        
            timeSeries.run_time_series(text,smooth_flag)
            time.sleep(3)
            lock.acquire()
            #LSTM
            #returns date and time dictionary(dt_dic),predictions(pred) and size of prediction
            dt_dic,pred,size_of_prediction=LSTM.main_pred(text,percentage,self.progressBar)
            lock.release()
            
            self.dt_dic=dt_dic
            self.pred=pred
            self.size_of_prediction=size_of_prediction
                
            return
        except:
            print("Error on Lstm !\n")
            self.progressBar['value']=0
            messagebox.showerror("error","Error in lstm ,please try again")

            return
コード例 #6
0
    def runGraph(self):
        encoderCell = LSTM.Cell()

        hiddenState = encoderCell.calculateStates()
        prevHiddenState, prevCellState = self.initializeStates()

        sess = tf.Session()
        init = tf.global_variables_initializer()
        init = tf.
        sess.run(init)

        hasMoreBatch = True
        while hasMoreBatch:
            try:
                currentBatch = next(self.batchGen)
                embeddedInput = tf.nn.embedding_lookup(self.embeddingMatrix, currentBatch)
                for sentence in embeddedInput:
                    feedDict = {encoderCell.input: sentence, encoderCell.prevCellState: prevCellState,
                                encoderCell.prevHiddenState: prevHiddenState}
                    prevHiddenStateForSample = sess.run([hiddenState], feed_dict=feedDict)
                    print(prevHiddenStateForSample)
                    hasMoreBatch = False

            except:
                hasMoreBatch = False
                print("Run out of batches !")
コード例 #7
0
ファイル: run.py プロジェクト: qingcimou/News-Classfication
def get_model(model, Title):
    embedding_dim = len(Title.vocab.vectors[0])
    embedding_weight = Title.vocab.vectors

    if model == 'TextCNN':
        model = TextCNN.TextCNN(max_length=20,
                                vocab_size=len(Title.vocab),
                                embedding_dim=embedding_dim,
                                embedding_weight=embedding_weight,
                                output_size=10)
    elif model == 'LSTM':
        model = LSTM.LSTM(vocab_size=len(Title.vocab),
                          embedding_dim=embedding_dim,
                          embedding_weight=embedding_weight,
                          hidden_size=100,
                          num_layers=4,
                          output_size=10)
    elif model == 'BiLSTM_Attention':
        model = BiLSTM_Attention.BiLSTM_Attention(
            vocab_size=len(Title.vocab),
            embedding_dim=embedding_dim,
            embedding_weight=embedding_weight,
            hidden_size=100,
            num_layers=4,
            output_size=10)
    else:
        model = Fasttext.fasttext(vocab_size=len(Title.vocab),
                                  embedding_dim=embedding_dim,
                                  embedding_weight=embedding_weight,
                                  hidden_size=100,
                                  output_size=10)
    return model
コード例 #8
0
ファイル: train.py プロジェクト: tbrownex/TF
def getLoss(p):
    parmDict['epochs'] = p[0]
    parmDict['batchSize'] = p[1]
    parmDict['L1size'] = p[2]
    parmDict['optimizer'] = p[3]
    parmDict['activation'] = p[4]
    return LSTM.run(trainX, trainY, testX, testY, parmDict)
コード例 #9
0
def do_train_rnn(training_x,
                 training_y,
                 validation_x,
                 validation_y,
                 name,
                 plot=False,
                 fname=None):
    print('%s -- TRAINING: %d, VALIDATION: %d' %
          (name, training_x.shape[0], validation_x.shape[0]))

    idx = NAMES.index(name)
    training_y = training_y[:, [idx]]
    validation_y = validation_y[:, [idx]]
    if name == 'BRAKE':
        training_y = onehot(2, training_y)
        validation_y = onehot(2, validation_y)
        output_dim = 2
    else:
        output_dim = 1

    lstm = LSTM.LSTM(INPUT_DIM, WINDOWSIZE, HIDDEN_NODES, output_dim)
    lstm.set_name('lstm_%s_%s.net' % (fname, name))
    #lstm.set_validation_data(validation_x, validation_y, valid_stop=0.0002 if name=='Brake' else 0.0005)
    nn_loaded = lstm.load()
    if not nn_loaded:
        lstm.set_training_stop(0.00015)
        training_acc, valid_acc = lstm.run(training_x,
                                           training_y,
                                           epochs=4000,
                                           batch_size=200)
        lstm.save()
    return lstm
コード例 #10
0
ファイル: AL.py プロジェクト: parag1604/A2L
 def __init__(self, dropout, recurrent_dropout, input_dim, hidden_dim):
     super(Siamese, self).__init__()
     self.bidir = Bidirectional(LSTM(hidden_dim,
                                     return_sequences=False,
                                     dropout=dropout,
                                     recurrent_dropout=recurrent_dropout),
                                input_shape=(None, input_dim))
コード例 #11
0
def lstm_with_sin_cos():
    NUM_DATA = 1200
    orgdata = np.linspace(0, 40, NUM_DATA, dtype=np.float32)
    sindata = np.sin(orgdata) + 0.1
    cosdata = np.cos(orgdata) * 2
    merge = np.stack((sindata, cosdata), axis=-1)
    print(merge[:3])

    train, validation, test = DATA.split_data(merge)
    WINDOWSIZE = 40
    train_x, train_y = DATA.getSeriesData(train, WINDOWSIZE, elementdim=2)
    valid_x, valid_y = DATA.getSeriesData(validation, WINDOWSIZE, elementdim=2)
    test_x, test_y = DATA.getSeriesData(test, WINDOWSIZE, elementdim=2)

    print('TRAIN', train.shape)
    print('TEST', test.shape)
    print('TRAIN X', train_x.shape)
    print('TRAIN Y', train_y.shape)

    lstm = LSTM.LSTM(2, WINDOWSIZE, 2, 2, loss='square', opt='adam')
    lstm.set_validation_data(valid_x, valid_y, valid_stop=0.0001)
    lstm.run(train_x,
             train_y,
             batch_size=int(train_x.shape[0] / 20),
             epochs=1000)
    lstm.do_test(test_x, test_y)
    predict_y = lstm.predict(test_x)
    chart = PLOT.LineChart()
    chart.scatter(test_y[:, 0], test_y[:, 1], 'g', 'Actual')
    chart.scatter(predict_y[:, 0], predict_y[:, 1], 'r', 'ByNN')
    chart.show()
コード例 #12
0
ファイル: lstm_stock1.py プロジェクト: jkook1218/Slowcampus
def lstm_stock(fname):
    df = pd.read_csv(fname, header=0)
    print(df.columns)
    MAX_PRICE = df.Open.max()
    print('MAX_PRICE', MAX_PRICE)
    df = df[df.Open != 0][['Open']]
    df.Open = df.Open / MAX_PRICE
    xy = df.as_matrix()
    #xy = MinMaxScaler(xy)

    train, validation, test = DATA.split_data(xy)
    WINDOWSIZE = 60
    train_x, train_y = DATA.getSeriesData(train, WINDOWSIZE, elementdim=1)
    valid_x, valid_y = DATA.getSeriesData(validation, WINDOWSIZE, elementdim=1)
    test_x, test_y = DATA.getSeriesData(test, WINDOWSIZE, elementdim=1)

    print('TRAIN', train.shape)
    print('TEST', test.shape)
    print('TRAIN X', train_x.shape)
    print('TRAIN Y', train_y.shape)

    lstm = LSTM.LSTM(1, WINDOWSIZE, 4, 1, loss='square', opt='adam')
    lstm.set_validation_data(valid_x, valid_y, valid_stop=0.0001)
    lstm.run(train_x,
             train_y,
             batch_size=int(train_x.shape[0] / 20),
             epochs=1000)
    lstm.do_test(test_x, test_y)
    predict_y = lstm.predict(test_x)
    chart = PLOT.LineChart()
    chart.line(test_y[:, 0] * MAX_PRICE, 'Actual')
    chart.line(predict_y[:, 0] * MAX_PRICE, 'ByNN')
    chart.show()
コード例 #13
0
    def __init__(self, x_size, y_size, learn_rate, seq_len, expected_out):
        self.x = np.zeros(x_size)
        self.x_size = x_size
        self.y = np.zeros(y_size)
        self.y_size = y_size

        # information floating out of LSTM cell(hiddenState, cellState, outputState)
        self.hsArray = np.zeros((seq_len + 1, y_size))
        self.csArray = np.zeros((seq_len + 1, y_size))
        self.osArray = np.zeros((seq_len + 1, y_size))

        # information about gates(forgot, input, output, cellState) inside LSTM cell
        self.fArray = np.zeros((seq_len + 1, y_size))
        self.iArray = np.zeros((seq_len + 1, y_size))
        self.oArray = np.zeros((seq_len + 1, y_size))
        self.cArray = np.zeros((seq_len + 1, y_size))

        # weight matrix
        self.w = np.random.random((y_size, y_size))
        self.G = np.zeros_like(self.w)

        # common parameters
        self.learn_rate = learn_rate
        self.seq_len = seq_len
        self.expected_out = np.vstack((np.zeros((1, x_size)), expected_out))

        self.LSTM = ls.LSTM(x_size, y_size, learn_rate, seq_len)
コード例 #14
0
ファイル: train.py プロジェクト: parag1604/A2L
 def __init__(self, dropout, recurrent_dropout, input_dim, hidden_dim):
     super(Siamese, self).__init__()
     self.bidir = Bidirectional(LSTM(hidden_dim,
                                     return_sequences=False,
                                     dropout=dropout,
                                     recurrent_dropout=recurrent_dropout),
                                input_shape=(None, input_dim))
     self.zeros = tf.constant(np.zeros(GLOVE_EMBEDDING_DIM), tf.float32)
コード例 #15
0
def train():
    model_path = os.path.join('model')
    # 如果文件夹不存在,创建文件夹
    if os.path.exists(model_path) is False:
        os.makedirs(model_path)

    # 生成或者加载模型需要的词典、字典
    dictionary_path = os.path.join('Dictionary', 'converter.pkl')
    if os.path.exists(dictionary_path):
        converter = TextConverter(dictionary_path)  # 创建对象
        print('词典、词表加载完成!')
    else:
        converter = TextConverter()  # 创建对象
        converter.save_to_file(dictionary_path)  # 将词典保存到磁盘
        print('词典、词表创建完成!')

    # 打开训练集数据,将text文本转化为数组,形如[1,4,5,,67,3]
    trainData_path = os.path.join('trainData', '时间简史.pkl')
    if os.path.exists(trainData_path):
        with open(trainData_path, 'rb') as f:
            text_arr = pickle.load(f)
            print("训练数据加载完成!")
    else:
        text_arr = data_loader(Flags.filePath, converter)
        with open(trainData_path, 'wb') as f:
            pickle.dump(text_arr, f)
        print('训练数据读取并固化完成!')

    # batch_generator,输出x,y数据shape=[batch_size, n_steps, n_inputs]
    g = batch_generator(text_arr, Flags.batch_size, Flags.n_steps, Flags.n_inputs,
                        converter.vocab_size(), Flags.window_size, converter=converter)

    # 创建对象lstm
    lstm = LSTM(sampling=False,
                n_classes=converter.vocab_size(),
                n_steps=Flags.n_steps,
                n_inputs=Flags.n_inputs,
                lstm_size=Flags.lstm_size,
                n_layers=Flags.n_layers,
                keep_prob=Flags.keep_prob,
                batch_size=Flags.batch_size,
                learning_rate=Flags.learning_rate,
                )

    lstm.train_model(batch_generator= g, epoches=Flags.epoches)
コード例 #16
0
def lstm_predict(company: str, verbose=False, train_size=0.80, scaled=False):
    X_train, X_test, y_train, y_test, prices, times = get_features(company, train_size=train_size, scaled=scaled)
    X_train, y_train, X_test, y_test = LSTM_data_prep(X_train, y_train, X_test, y_test)
    LSTM_predictions, true_labels = LSTM.predict(X_train, y_train, X_test, y_test, company)
    accuracy = accuracy_score(true_labels, LSTM_predictions)
    if verbose:
        print("LSTM Accuracy: " + str(accuracy * 100) + "%")
        prediction_distribution(LSTM_predictions, true_labels)
    return prices, times, LSTM_predictions, accuracy
コード例 #17
0
 def __init__(self, x_size, y_size, rl, expOut, learnRate):
     self.x = np.zeros(x_size)
     self.xs = x_size
     self.y = np.zeros(y_size)
     self.ys = y_size
     self.w = np.random.random((y_size, y_size))
     self.G = np.zeros_like(self.w)
     self.rl = rl
     self.lr = learnRate
     self.ia = np.zeros((rl + 1, x_size))
     self.ca = np.zeros((rl + 1, y_size))
     self.oa = np.zeros((rl + 1, y_size))
     self.ha = np.zeros((rl + 1, y_size))
     self.af = np.zeros((rl + 1, y_size))
     self.ai = np.zeros((rl + 1, y_size))
     self.ac = np.zeros((rl + 1, y_size))
     self.ao = np.zeros((rl + 1, y_size))
     self.eo = np.vstack((np.zeros(expOut.shape[0]), expOut.T))
     self.LSTM = LSTM(x_size, y_size, rl, learnRate)
コード例 #18
0
def timeseries_for_onetrip(df, s1, s2, window_size):
    # print(df.loc[s1].SEQ, df.loc[s2-1].SEQ, df.loc[s2].SEQ)
    onetrip = df[s1:s2][['SP', 'RPM', 'BRAKE', 'X', 'Y',
                         'ROAD_EV']].as_matrix()
    # print(onetrip[0], onetrip[-1])
    #print(onetrip.shape, s2 - s1)
    x, y = LSTM.getSeriesData(onetrip,
                              window_size,
                              elementdim=onetrip.shape[1])
    #x, y = LSTM.getInBetweenData(onetrip, window_size, elementdim=onetrip.shape[1])
    return x, y
コード例 #19
0
def evaluate_classification(model, session, hotel_dict, hotel_to_index_dict,
                            n_features, hotels_window):
    line_tensor = lstm.session_to_tensor_ultimate(session, hotel_dict,
                                                  n_features, hotels_window)

    output = model(line_tensor)

    output = recommendations_from_output_classification(
        output, hotel_to_index_dict, hotels_window, n_features)

    return output
コード例 #20
0
def train(data):
    loss_func = nn.CrossEntropyLoss()
    optimizer = optim.Adam(model.parameters(), lr=0.01)
    for epoch in range(EPOCHS):
        running_loss = 0
        step = 0
        iter_data = data
        for sentence, tags in iter_data:
            step = step + 1
            model.zero_grad()
            sentence_in = lstm.prepare_sequence(sentence, word2idx)
            targets = lstm.prepare_sequence(tags, label2idx)
            pre = model(sentence_in)
            loss = loss_func(pre, targets)
            running_loss = running_loss + float(loss)
            loss.backward()
            optimizer.step()
            if step % 100 == 0:
                print('loss', float(loss))
        print('epoch:', epoch, end='')
        print('running loss is:', running_loss)
コード例 #21
0
	def __init__(self, device):
		self.device = device
		self.filePath = os.getcwd()
		self.target_index = 0
		self.num_features = 2
		self.batch_size = 64
		self.time_window = 60
		self.forecast_window = 1
		self.year_length = 5
		self.train_proportion = 0.8

		# best parameters: hidden-50, layer-4, learn-0.01
		self.input_dim = self.num_features
		self.hidden_dim = 50
		self.layer_dim 	= 4
		self.output_dim = self.forecast_window
		self.learning_rate = 0.01
		self.num_epochs = 100

		self.model = LSTM(input_dim=self.input_dim, hidden_dim=self.hidden_dim,
						  layer_dim=self.layer_dim, output_dim=self.output_dim,
						  batch_size=self.batch_size, stateful=False, device=device).to(self.device)
コード例 #22
0
ファイル: qLearningAgent.py プロジェクト: daddabarba/NHRL
    def _setQ(self, rs, stateSize, nActions):
        self.Q = []

        if not self.sess:
            self.sess = tf.Session()

        for i in range(rs):
            (self.Q).append(
                lstm.LSTM(stateSize,
                          _defRnnSize,
                          nActions,
                          self.agent.livePar.neuralLearningRate,
                          session=self.sess))
コード例 #23
0
       def startTrainingLSTM(self):
           cellcount = 20 #задаем количество ячеек LSTM
           learningrate =  self.ent_learningrate_LSTM.get() #задаем коэффициент обучения
           number_epochs = self.ent_number_epochs_LSTM.get()    #количество эпох

           self.lstm = LSTM.LSTM(cellcount, float(learningrate))
           self.lstm.weigths_print()
           number_samples = self.ent_number_samples_LSTM.get()  # ввели количество строк для обучения
           if (number_samples.isdigit()):
               print(int(number_samples))
               if (int(number_samples) <= self.total_count_LSTM):  # нельзя обучить на большем числе примеров, чем есть
                   self.lstm.train_all(self.data_list_LSTM, int(number_samples), int(number_epochs))
                   self.lstm.weigths_print()
                   print("Обучение закончено!")
コード例 #24
0
def Train(x,
          y,
          model=None,
          epochs=100,
          batch_size=128,
          LR=0.001,
          n_layers=3,
          layer_size=128,
          filters=32,
          dropout=False,
          MaxPooling=False,
          Embedding=False,
          vocab_size=None,
          embedding_dim=64,
          loss="binary_crossentropy",
          train=False):

    if model == None:
        print("Please define the model: [CNN,DNN,RNN,GRU,LSTM,Transformer]")
    elif model == "CNN":
        Trained_Model = CNN.Train(x, y, epochs, batch_size, LR, n_layers,
                                  filters, dropout, MaxPooling, Embedding,
                                  vocab_size, embedding_dim, loss, train)
    elif model == "DNN":
        Trained_Model = DNN.Train(x, y, epochs, batch_size, LR, n_layers,
                                  layer_size, dropout, MaxPooling, Embedding,
                                  vocab_size, embedding_dim, loss, train)
    elif model == "RNN":
        Trained_Model = RNN.Train(x, y, epochs, batch_size, LR, n_layers,
                                  layer_size, dropout, MaxPooling, Embedding,
                                  vocab_size, embedding_dim, loss, train)
    elif model == "GRU":
        Trained_Model = GRU.Train(x, y, epochs, batch_size, LR, n_layers,
                                  layer_size, dropout, MaxPooling, Embedding,
                                  vocab_size, embedding_dim, loss, train)
    elif model == "LSTM":
        Trained_Model = LSTM.Train(x, y, epochs, batch_size, LR, n_layers,
                                   layer_size, dropout, MaxPooling, Embedding,
                                   vocab_size, embedding_dim, loss, train)
    elif model == "Transformer":
        Trained_Model = Transformer.Train(x,
                                          y,
                                          epochs,
                                          batch_size,
                                          LR,
                                          vocab_size,
                                          loss,
                                          embedding_dim,
                                          train=True)
    return Trained_Model
コード例 #25
0
def lstm_predict_live_data(company: str, verbose=False, scaled=False):
    features, garbage, labels, garbage, garbage, garbage = get_features(company, train_size=1.00, scaled=scaled)
    live_features, live_labels, live_prices, live_times = get_live_features(company)
    if len(shape(features)) < 3:
        features, labels, live_features, live_labels = LSTM_data_prep(features, labels, live_features, live_labels)
    print(shape(features))
    print(shape(labels))
    print(shape(live_features))
    print(shape(live_labels))
    true_labels, LSTM_predictions = LSTM.predict(features, labels, live_features, live_labels, company)
    accuracy = accuracy_score(true_labels, LSTM_predictions)
    if verbose:
        print("LSTM Accuracy: " + str(accuracy * 100) + "%")
        prediction_distribution(LSTM_predictions, true_labels)
    return live_prices, live_times, LSTM_predictions, accuracy
コード例 #26
0
def main():
    parser = argparse.ArgumentParser(
        description="Chainer Anomary Detection by LSTM")
    parser.add_argument("--model_path", default="result/snapshot_iter_1130")
    parser.add_argument("--keypoints_path", default="test.sav")
    parser.add_argument("--lookback_len", default=20)
    parser.add_argument("--pred_len", default=5)
    args = parser.parse_args()

    model = L.Classifier(LSTM.LSTM())
    # serializers.load_npz(args.model_path, model)
    # with open(args.keypoints_path, "rb") as f:
    #    keypoints = pickle.load(f)

    list = [i for i in range(11)]
    it = Iterator(list, 3, 1)
    print(iter.__next__())
    detector = AnomaryDeteciton(model=model, iterator=it)
コード例 #27
0
def getGraphsOther():
    return html.Div(
        id='other-graphs',
        className='container-fluid',
        children=[
            # html.Div(className='row', children=[
            #     html.Div(LassoFunction('A')),
            # ]),
            # html.Div(className='row', children=[
            #     html.Div(PyTorch('A')),
            # ]),
            html.Div(
                className='row',
                children=[
                    html.Div(LSTM(13, 640, 340, 330, work,
                                  'W'))  # 7day interval
                ]),
        ])
コード例 #28
0
def main():
    df_dict, df_def = Quandl.load_forex_data()
    
    # Model parameters
    features = []#['SandP','TBill','BollingerLower','BollingerMiddle','BollingerUpper','RSI','MA10','EMA12','EMA26','MACD']
    targets = ['Value']
    
    # Data hyperparams
    time_steps = 365 # How far back are we looking?

    # LSTM hyperparams
    hidden_size = 5 # How many outputs from the LSTM layer itself, which will then pass thorugh a linear layer?
    num_layers = 1 # How many LSTM layers?
    dropout = 0.2 # If we have multiple layers, what rate are we applying dropout?

    # Training hyperparams
    num_epochs = 500
    loss = 'MSE' # Huber, KL-Div, MAE, MSE, 
    optimizer = 'Adam' # SGD, RMSProp

    # learning Rate
    # Momentum
    # weight decay
    # Regularization
    # Weight Initialization

    run_history = {}
    # For each data, load and manipulate the data, then train an lstm
    for i, df in enumerate(df_dict):
        print('Predicting '+df_def[df])
        print('')

        lstmModel = LSTM.LSTM(data=df_dict[df], features=features, targets=targets, df_name=df, title=df_def[df])
        lstmModel.load()
        lstmModel.create(hidden_size, num_layers, dropout)
        lstmModel.train(loss, optimizer, num_epochs)
        lstmModel.visualize_train()
        lstmModel.visualize_error()

        run_history[i] = lstmModel

        print('')
        print('')
        print('')
コード例 #29
0
ファイル: MyData_05.py プロジェクト: yoshinobc/aiwolf
    def __init__(self):
        self.__seerCODataMap_   = {}
        self.__villCODataMap_   = {}
        self.__wolfCODataMap_   = {}
        self.__possCODataMap_   = {}

        self.__playerDataMap_   = {}
        self.__talkNumMap_      = {}
        self.__talkAllNumMap_   = {}
        self.__voteMap_         = {}
        self.__resultMap_       = {}
        self.__voteNum_         = {}
        #AliveAgent
        self.__aliveAgentList_  = []
        self.__aliveAgentIndexList_ = []
        self.__agentList_  = []
        self.__agentIndexList_  = []
        self.__attackedAgentList_ =[]
        self.__executedAgentList_ =[]
        self.__voteTable_   = {}
        self.__today_       = 0
        self.__playerNum_   = 0

        self.__isCOCall_        = False
        self.__isDivineCall_    = False
        self.__isOneTimeCall_   = False

        #RequestData
        self.__requestData_  = []

        self.gameInfo           = None

        self.turn               = 0
        self.logTurn            = -1
        self.pred       = LSTM.Predictor_05()
        self.SaveLog        = sv.SaveLog_05()
        self.rank       = []

        self.wolfWinrate    = []
        self.villWinrate    = []
        self.calc_flag      = False
コード例 #30
0
    def execute(self):
        self.pushButton.setText("Prediction is running")
        self.pushButton.setEnabled(False)
        QtGui.QGuiApplication.processEvents()

        predictedValue = LSTM.trainTestAndPredict(
            self.dateToPredict.date().addDays(-60).toPyDate(),
            self.dateToPredict.date().toPyDate(),
            str(self.stockPrice.currentText()).split()[0], self.getDays())

        #predictedValue = MLP.trainTestAndPredict(self.dateToPredict.date().addDays(-60).toPyDate(), self.dateToPredict.date().toPyDate(),
        #                                                str(self.stockPrice.currentText()).split()[0], self.getDays())

        monteCarloSimulation(str(self.stockPrice.currentText()).split()[0])
        self.predictedLabel.setText(str(predictedValue))

        if self.radioButton.isChecked(): self.showHistoryGraph()
        else: self.showMonteCarloGraph()

        self.pushButton.setText("Predict")
        self.pushButton.setEnabled(True)