0
TensorFlowグラフの別の操作のために、タイプ(python)リストの引数としてtf.Tensorを使用したいと思います。 つまり、別の操作で動的リスト引数としてTensorを使用したいと考えています。これは可能ですか?TensorFlow:テンソルをグラフのリスト引数として使用する
実行例:
import tensorflow as tf
import numpy as np
graph = tf.Graph()
var1 = np.random.randn(2, 3)
var2 = np.random.randn(2, 3, 4)
with graph.as_default():
def getRange(myTensor):
myRank = tf.rank(myTensor)
return tf.range(tf.constant(1), tf.squeeze(myRank))
def getMoments(myTensor):
myMoments = tf.nn.moments(myTensor, axes=getRange(myTensor))
return myMoments
var1tf = tf.Variable(var1)
var2tf = tf.Variable(var2)
var1moments = getMoments(var1tf)
var2moments = getMoments(var2tf)
rangeVar1 = getRange(var1tf)
rangeVar2 = getRange(var2tf)
init = tf.global_variables_initializer()
with tf.Session(graph=graph) as sess:
sess.run([init])
print(sess.run([rangeVar1])) # outputs [1], ok
print(sess.run([rangeVar2])) # outputs [1, 2], ok
print(sess.run([var1moments]))
print(sess.run([var2moments]))
これはスロー:
raise TypeError("'Tensor' object is not iterable.")
興味深い質問を。好奇心のために、あなたは未知のランクのテンソルを扱わなければならない問題の種類は何ですか? – user1735003
異なるランクのテンソルで呼び出される関数でこのコードを使用しています – gizzmole
私の例を実行可能な例に更新しました – gizzmole