如何在公式中使用张量流张量值?

时间:2018-03-05 16:45:30

标签: python tensorflow machine-learning

我有一个简单的问题。我正在开发tensorflow模型,需要在构建阶段使用公式中的迭代数。我知道如何使用global_step,但我没有使用已经存在的优化器。 我正在用

计算我自己的渐变
grad_W, grad_b = tf.gradients(xs=[W, b], ys=cost)
grad_W = grad_W +rnd.normal(0,1.0/(1+epoch)**0.55)

然后使用

new_W = W.assign(W - learning_rate * (grad_W))
new_b = b.assign(b - learning_rate * (grad_b))

并希望在更新我的权重之前使用公式中的纪元值。我怎样才能以最好的方式做到这一点?我有一个sess.run()部分,并希望传递给模型的纪元号,但不能直接使用张量。 从我的跑步电话

_, _, cost_ = sess.run([new_W, new_b ,cost], 
      feed_dict = {X_: X_train_tr, Y: labels_, learning_rate: learning_r})

我想通过时代号码。你通常怎么做?

先谢谢,翁贝托

修改

感谢您的提示。所以似乎工作

grad_W = grad_W + tf.random_normal(grad_W.shape, 
      0.0,1.0/tf.pow(0.01+tf.cast(epochv, tf.float32),0.55))

但是我仍然要看看这是否是我需要的,如果按预期工作。想法和反馈会很棒!

1 个答案:

答案 0 :(得分:1)

您可以在图表中将<android.widget.RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="net.dijitalbeyin.myapplication.MainActivity" android:background="#A3ADDE" > <TextView android:id="@+id/txt_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="15dp" android:textStyle="bold" android:textSize="20dp" android:text="İsminiz:" /> <EditText android:id="@+id/editTxt_name" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_toRightOf="@id/txt_name" android:background="#FFFFFF" /> <Button android:id="@+id/btn_ok" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/editTxt_name" android:minWidth="0dp" /> </android.widget.RelativeLayout> 定义为不可训练的epoch,并在每个纪元的末尾递增它。您可以使用tf.assign_add定义一个操作来进行增量,并在每个纪元的末尾运行它。

而不是tf.Variable,您还需要使用tf.random_normal

示例:

rnd.normal