このコードは、ファイル内のメソッドzero_state
で正確に何をしていますか? フォームの形状が何を意味するのか完全にはわかりません...RNNCell
rnn_cell.py
[-1, n]
3 に答える
ラファルの例は素晴らしい。私が覚えている -1 の方法は、その次元のサイズを、元のテンソルからのすべてのデータに適合するために必要なものに設定することです。1 回のリシェイプで使用できる -1 は 1 つだけです。
元のテンソルのサイズが a、b、c (要素の合計 = a b c) で、x、y、-1 にサイズ変更すると、
その結果、-1 はb c/(y*z) になります。
9,3,-1 に再形成された 3,3,3 テンソル (27 要素) は、実際には 9,3,1 (27 要素) のサイズになります。
ドキュメントは、-1 の動作を漠然と示唆しています。
shape が特別な値 [-1] の場合、テンソルは平坦化され、操作はテンソルのすべての要素を含む 1-D テンソルを出力します。
形状が配列で、要素の 1 つが -1 の場合、この値は、同じ形状を生成する可能性のある整数の便利なプレースホルダーです。そのような整数は存在しない可能性があることに注意してください (たとえば、開始行列が である場合、[5x5]
で形状を変更することはできません[7, -1]
)。
また、ご覧のとおり、-1 が 2 つ存在することはありません。これは、形状があいまいになるためです。指摘したように、動作はnumpy の reshapeに似ています。