talolard / MarketVectors

Implementations for my blog post [here](https://medium.com/@TalPerry/deep-learning-the-stock-market-df853d139e02#.flflpo3xf)
MIT License
260 stars 169 forks source link

class Model() #10

Open AlgoBeach opened 6 years ago

AlgoBeach commented 6 years ago

I am getting the following error messages when I try and run the tensorflow portion of preparedata.ipynb. Not sure where to go from here. with tf.Graph().asdefault(): model = Model() input = train[0] target = train[1] with tf.Session() as sess: init = tf.initialize_all_variables() sess.run([init]) epoch_loss =0 for e in range(NUM_EPOCHS): if epoch_loss >0 and epoch_loss <1: break epoch_loss =0 for batch in range(0,NUM_TRAIN_BATCHES):

            start = batch*BATCH_SIZE
            end = start + BATCH_SIZE 
            feed = {
                model.input_data:input_[start:end],
                model.target_data:target[start:end],
                model.dropout_prob:0.9
                        }

            _,loss,acc = sess.run(
                [
                    model.train_op,
                    model.loss,
                    model.accuracy,
                ]
                ,feed_dict=feed
            )
            epoch_loss+=loss
        print('step - {0} loss - {1} acc - {2}'.format((1+batch+NUM_TRAIN_BATCHES*e),epoch_loss,acc))

    print('done training')
    final_preds =np.array([])
    final_probs =None
    for batch in range(0,NUM_VAL_BATCHES):

            start = batch*BATCH_SIZE
            end = start + BATCH_SIZE 
            feed = {
                model.input_data:val[0][start:end],
                model.target_data:val[1][start:end],
                model.dropout_prob:1
                        }

            acc,preds,probs = sess.run(
                [
                    model.accuracy,
                    model.predictions,
                    model.probs
                ]
                ,feed_dict=feed
            )
            print(acc)
            final_preds = np.concatenate((final_preds,preds),axis=0)
            if final_probs is None:
                final_probs = probs
            else:
                final_probs = np.concatenate((final_probs,probs),axis=0)
    prediction_conf = final_probs[np.argmax(final_probs,1)]

ValueError Traceback (most recent call last)

in () 1 with tf.Graph().as_default(): ----> 2 model = Model() 3 input_ = train[0] 4 target = train[1] 5 with tf.Session() as sess: in __init__(self) 23 with tf.variable_scope("loss"): 24 ---> 25 self.losses = tf.nn.sparse_softmax_cross_entropy_with_logits(self.logits,self.target_data) 26 mask = (1-tf.sign(1-self.target_data)) #Don't give credit for flat days 27 mask = tf.cast(mask,tf.float32) /opt/intel/intelpython3/lib/python3.6/site-packages/tensorflow/python/ops/nn_ops.py in sparse_softmax_cross_entropy_with_logits(_sentinel, labels, logits, name) 2011 """ 2012 _ensure_xent_args("sparse_softmax_cross_entropy_with_logits", _sentinel, -> 2013 labels, logits) 2014 2015 # TODO(pcmurray) Raise an error when the label is not an index in /opt/intel/intelpython3/lib/python3.6/site-packages/tensorflow/python/ops/nn_ops.py in _ensure_xent_args(name, sentinel, labels, logits) 1777 if sentinel is not None: 1778 raise ValueError("Only call `%s` with " -> 1779 "named arguments (labels=..., logits=..., ...)" % name) 1780 if labels is None or logits is None: 1781 raise ValueError("Both labels and logits must be provided.") ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=..., ...)