output_size = 8 N = 120 # number of memory locations M = 8 # size of a memory location # model initialization layers = [ GRU(hidden_size, init, activation=Tanh(), gate_activation=Logistic()), Affine(train_set.nout, init, bias=init, activation=Logistic()) ] cost = GeneralizedCostMask(costfunc=CrossEntropyBinary()) model = Model(layers=layers) optimizer = RMSProp(gradient_clip_value=gradient_clip_value, stochastic_round=args.rounding) # configure callbacks callbacks = Callbacks(model, **args.callback_args) # we can use the training set as the validation set, # since the data is tickerally generated callbacks.add_watch_ticker_callback(train_set) # train model model.fit(train_set, optimizer=optimizer, num_epochs=args.epochs, cost=cost, callbacks=callbacks)