def unitary_svd_init(shape, name=None):
assert shape[0]==shape[1]
Re=initializations.normal(shape,scale=1.0,name=name).get_value()
Im=initializations.normal(shape,scale=1.0,name=name).get_value()
X = Re+1j*Im
[U,S,V]=np.linalg.svd(X)
X = np.dot(U,V)
ReX = np.real(X)
ImX = np.imag(X)
Xaug = np.concatenate([ReX,ImX],axis=0)
return K.variable(Xaug,name=name)
评论列表
文章目录