给定一个三维Keras张量,如何将尺寸1和2的对角线设置为1?
给定Keras张量,我想用数字1代替对角线。这类似于numpy函数给定一个三维Keras张量,如何将尺寸1和2的对角线设置为1?,keras,Keras,给定Keras张量,我想用数字1代替对角线。这类似于numpy函数fill_diagonal让inputTensor成为您要更改的张量,size成为尺寸1和2的大小: #create a diagonal matrix diag = K.eye(size) #make it 3D by adding a dummy batch dimension diag = K.expand_dims(diag,0) #get a complement for wich complement + diag
fill_diagonal
让inputTensor
成为您要更改的张量,size
成为尺寸1和2的大小:
#create a diagonal matrix
diag = K.eye(size)
#make it 3D by adding a dummy batch dimension
diag = K.expand_dims(diag,0)
#get a complement for wich complement + diag = ones
complement = 1 - diag
#annulate the diagonal from the input
noDiagInput = complement * inputTensor
#add diagonal 1
return noDiagInput + diag