私は、テンソルフロー1.0.1をpython 3.xで使用しています。特定のテンソル行のチャンクをテンソルで保持する
私はn x seq
行を持つテンソルL
を持っている、と私はc
でi
ため、seq
行あたりの最初のi
の要素を維持したいです。したがって、len(c)=n
およびi-th
の要素は、そのパーティションの先頭から、 seq
サイズのL
に保持する要素の数を示します。
たとえば、L=list(range(10))
とc=[2,4]
の場合、結果はD=[0,1,5,6,7,8]
です。もちろん、実際の例では、L
とD
は? x dim
テンソルです。
私はtf.split(T,c,0)
を使用しようとしましたが、ここでは、例ごとにc=[2,3,4,1]
となり、各seqで破棄するアイテムの数を計算しました。そのようにすると、他のすべての要素を破棄した後、目的の行はtf.split
結果リストの要素になります。
ValueError: Cannot infer num from shape Tensor("tensorname", shape=(?,), dtype=int32)
tf.split()のDOCはそれことを言う:
問題値とc
の長さは、プレースホルダを介して供給され、グラフの作成時に未知であるので、私は例外を取得している、ありますnum_or_size_splits
argから分割の数がnum
であると推測できない場合は上記の例外がスローされます。だから分割の数は絶対にになりますグラフの構築時に知られている?
もしそうなら、以下の目標を達成するための静的に定義可能な方法や回避策が考えられますか?
ご協力いただきありがとうございます。