2016-11-08 96 views
0

我試圖優化tensorflow一個相當複雜的函數,其中函數的最後兩層:轉換標量函數變量a tensorflow

dist = tf.contrib.distributions.Normal(mu = self._mu_pos[0][0], sigma=self._sig[0][0]) 
objective = a*dist.cdf(b) 

其中ab是標值

然而,由於可變objective是標量,我不能用train_op如下定義:

opt = tf.train.GradientDescentOptimizer(learning_rate=0.01) 

train_op = opt.minimize(objective_acq,var_list = [self._input]) 

這是因爲opt.minimize預計objective是tensorflow變量。

如何將objective轉換爲tensorflow變量?

感謝

回答

1

您可以使用tf.convert_to_tensor(),見文件here

+0

我現在得到這個錯誤,當我運行train_op:TypeError:參數不是一個tf.Variable:張量(「Mul:0」,形狀=(?,1),dtype = float32) –

+0

錯誤來自哪裏? (在哪個函數調用?) –

+0

from sess.run(train_op) –