CUDA中无状态的Tensorflow序列

时间:2019-10-23 02:11:01

标签: tensorflow recurrent-neural-network

我有一个递归神经网络,可用于处理可变长度的输入(序列)。但是,输入的元素彼此之间没有依赖关系。没有内部状态的自定义RNN单元可以很好地处理这种情况:

grouped_words

但是,将我的模型转移到GPU并没有带来性能提升:我认为此RNN是瓶颈。

tf.contrib.cudnn_rnn.CudnnRNNTanh似乎是加快速度的一种合理方法,因为它是针对GPU优化的,与class MyRNNCell(tf.nn.rnn_cell.BasicRNNCell): def __init__(self, num_units): super(MyRNNCell, self).__init__(num_units) def __call__(self, inputs, state, scope=None): #inputs - Input from time sequence #state - Previous unit's state #scope - Used by superclass hidden_layer, hidden_state = super(MyRNNCell, self).__call__( inputs, tf.zeros_like(state) ) return hidden_layer, hidden_state predictions, states = tf.nn.dynamic_rnn(MyRNNCell(20),input_sequences) 不同。

是否有一种方法可以使tf.nn.rnn_cell.BasicRNNCell或类似的函数忽略上面的代码中的状态?

0 个答案:

没有答案