 
             weights_ = rand<T>(std::vector<int>{static_cast<int>(weight_size_ / sizeof(T)), 1}, curand_gen);
 
-
             std::vector<int> dim = {weights_.size(), 1, 1};
             wDesc_ = FilterDescriptorNd<T>(CUDNN_TENSOR_NCHW, dim);
 

    size_t train_size_;

    Tensor<T> weights_;
    Tensor<float> workspace_;
    Tensor<float> trainspace_;


                                                        time_steps,
                                                        xDescArray_.ptr(),
                                                        &workspace_size_) );

            dW_ = zeros<T>(std::vector<int>{static_cast<int>(weight_size_ / sizeof(T)), 1});

            workspace_ = zeros<float>(std::vector<int>{static_cast<int>(workspace_size_ / sizeof(float)), 1});

