Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于BasicRNNCell的网络结构是什么?_Python_Tensorflow_Machine Learning_Neural Network_Recurrent Neural Network - Fatal编程技术网

Python 基于BasicRNNCell的网络结构是什么?

Python 基于BasicRNNCell的网络结构是什么?,python,tensorflow,machine-learning,neural-network,recurrent-neural-network,Python,Tensorflow,Machine Learning,Neural Network,Recurrent Neural Network,我想知道下面所示的递归神经网络中Tensorflow的BasicRNNCell的结构是什么?在我看来,这是一个由3层和12个神经元组成的神经网络。但我不确定这种连接是什么样子的?我不确定它是否是霍普菲尔德网 cell = tf.contrib.rnn.BasicRNNCell(num_units=12) states_series, current_state = tf.nn.dynamic_rnn(cell=cell,inputs=batchX_placeholder,dtype=tf.fl

我想知道下面所示的递归神经网络中Tensorflow的
BasicRNNCell
的结构是什么?在我看来,这是一个由3层和12个神经元组成的神经网络。但我不确定这种连接是什么样子的?我不确定它是否是霍普菲尔德网

cell = tf.contrib.rnn.BasicRNNCell(num_units=12)

states_series, current_state = tf.nn.dynamic_rnn(cell=cell,inputs=batchX_placeholder,dtype=tf.float32)

这是一层基本RNN单元,每个单元有12个隐藏单元。单元格的数量取决于您的
batchX\u占位符
占位符

下面是一个例子:

n_steps = 2
n_inputs = 3
n_neurons = 5    
X = tf.placeholder(dtype=tf.float32, shape=[None, n_steps, n_inputs])
basic_cell = tf.nn.rnn_cell.BasicRNNCell(num_units=n_neurons)
outputs, states = tf.nn.dynamic_rnn(basic_cell, X, dtype=tf.float32)
print(tf.trainable_variables())
它打印

[<tf.Variable 'rnn/basic_rnn_cell/kernel:0' shape=(8, 5) dtype=float32_ref>, 
 <tf.Variable 'rnn/basic_rnn_cell/bias:0' shape=(5,) dtype=float32_ref>]
[,,
]
所以它创建了一个共享核矩阵和一个共享偏差向量。单元格数对应于
output.shape
(源自
X.shape
),在本例中为
[?,2,5]
。所以有两个细胞


如果希望创建多个层,则应使用接受每个层中的单元格列表的函数。

谢谢。我可以根据现有的源代码问你一个问题吗?我指的是这个存储库中的文件
Currency\u Market\u Predictor\u RNN.ipynb
。它是ipynb扩展,所以如果您喜欢其他扩展中的代码或粘贴到pastebin等,请告诉我。我花了很长时间分析这段源代码,我不确定我是否以正确的方式进行了分析。我会写信告诉你我的看法,你会告诉我我的推理是否正确。这里使用了我在问题中提到的相同RNN。但如果你不想,我会理解的。这似乎是个新问题。最好点击“提问”并详细描述。在评论中讨论事情很不方便,我知道,但我必须在单独的主题中提出每个问题,我的问题与我上面描述的RNN有关。例如,你写的
n\u inputs=3
表示输入的数量。在算法中有一行(
In[14]
):
batchX\u placeholder=tf.placeholder(dtype=tf.float32,shape=[None,truncated\u backprop\u length,num\u features],name='data\u ph')
因此,源代码中的
n\u输入的等价物是
num\u features
。我不明白为什么它等于4,因为在源代码中有2745行输入数据。