K.expand_dims(x_, 2) #在第二个维度中增加一维,元素个数并不会变
K.greater(K.expand_dims(x, 2), 0) #比较第一个参数个第二个参数的大小,返回布尔列表
K.cast(K.greater(K.expand_dims(x, 2), 0), 'float32') #将第一个参数转化为'float32'类型
示例:
from keras import backend as K
from keras.layers import *
x_ = K.variable(np.array([
[-0.1,0.2]
]))
x_mask = Lambda(lambda x: K.cast(K.greater(K.expand_dims(x, 2), 0), 'float32'))(x_)
print(x_mask)
print(K.eval(x_mask))
输出:
Tensor("lambda_1/Cast:0", shape=(1, 2, 1), dtype=float32)
[[[0.]
[1.]]]