1,python中形参实参
http://www.cnblogs.com/DamianZhou/p/3948898.html
不应随意改动传进来的实参,因为如果传进来的是数组,形参就引用了实参,那么在函数改动形参后,实参也会受到影响
import numpy as np
a = np.arange(9).reshape((3,3))
a
def func(b):
b[0,:] = 0
func(a)
# 第一次 array([[0, 1, 2], [3, 4, 5],[6, 7, 8]])
# 第二次 array([[0, 0, 0], [3, 4, 5],[6, 7, 8]])
2,tensorflow中tf.gradients() 返回的是一个list类型,list中元素类型为tensor。通用情况是:
grads = tf.gradients([x1,x2],y)
grads[0] #y对于x1的gradients
grads[1] #y对于x2的gradients
所以当grads = tf.gradients(x,y)
需要使用grads[0],返回对x的梯度
3,tenosr 转numpy
https://stackoverflow.com/questions/34097281/how-can-i-convert-a-tensor-into-a-numpy-array-in-tensorflow