本文整理汇总了Python中keras.layers.convolutional.UpSampling3D方法的典型用法代码示例。如果您正苦于以下问题:Python convolutional.UpSampling3D方法的具体用法?Python convolutional.UpSampling3D怎么用?Python convolutional.UpSampling3D使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类keras.layers.convolutional
的用法示例。
在下文中一共展示了convolutional.UpSampling3D方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: fUpSample
# 需要导入模块: from keras.layers import convolutional [as 别名]
# 或者: from keras.layers.convolutional import UpSampling3D [as 别名]
def fUpSample(up_in, factor, method='repeat'):
factor = int(np.round(1 / factor))
if method == 'repeat':
up_out = UpSampling3D(size=(factor, factor, factor), data_format='channels_first')(up_in)
#else: use inteporlation
#up_out = scaling.fscalingLayer3D(up_in, factor, [up_in._keras_shape[2],up_in._keras_shape[3],up_in._keras_shape[4]])
return up_out
示例2: build
# 需要导入模块: from keras.layers import convolutional [as 别名]
# 或者: from keras.layers.convolutional import UpSampling3D [as 别名]
def build(self, img1, img2):
'''
img1, img2, flow : tensor of shape [batch, X, Y, Z, C]
'''
concatImgs = tf.concat([img1, img2], 4, 'concatImgs')
conv1 = convolveLeakyReLU(
'conv1', concatImgs, self.encoders[0], 3, 2) # 64 * 64 * 64
conv2 = convolveLeakyReLU(
'conv2', conv1, self.encoders[1], 3, 2) # 32 * 32 * 32
conv3 = convolveLeakyReLU(
'conv3', conv2, self.encoders[2], 3, 2) # 16 * 16 * 16
conv4 = convolveLeakyReLU(
'conv4', conv3, self.encoders[3], 3, 2) # 8 * 8 * 8
net = convolveLeakyReLU('decode4', conv4, self.decoders[0], 3, 1)
net = tf.concat([UpSampling3D()(net), conv3], axis=-1)
net = convolveLeakyReLU('decode3', net, self.decoders[1], 3, 1)
net = tf.concat([UpSampling3D()(net), conv2], axis=-1)
net = convolveLeakyReLU('decode2', net, self.decoders[2], 3, 1)
net = tf.concat([UpSampling3D()(net), conv1], axis=-1)
net = convolveLeakyReLU('decode1', net, self.decoders[3], 3, 1)
net = convolveLeakyReLU('decode1_1', net, self.decoders[4], 3, 1)
net = tf.concat([UpSampling3D()(net), concatImgs], axis=-1)
net = convolveLeakyReLU('decode0', net, self.decoders[5], 3, 1)
if len(self.decoders) == 8:
net = convolveLeakyReLU('decode0_1', net, self.decoders[6], 3, 1)
net = convolve(
'flow', net, self.decoders[-1], 3, 1, weights_init=normal(stddev=1e-5))
return {
'flow': net * self.flow_multiplier
}
示例3: test_upsampling_3d
# 需要导入模块: from keras.layers import convolutional [as 别名]
# 或者: from keras.layers.convolutional import UpSampling3D [as 别名]
def test_upsampling_3d():
num_samples = 2
stack_size = 2
input_len_dim1 = 10
input_len_dim2 = 11
input_len_dim3 = 12
for data_format in ['channels_first', 'channels_last']:
if data_format == 'channels_first':
inputs = np.random.rand(num_samples,
stack_size,
input_len_dim1, input_len_dim2, input_len_dim3)
else: # tf
inputs = np.random.rand(num_samples,
input_len_dim1, input_len_dim2, input_len_dim3,
stack_size)
# basic test
layer_test(convolutional.UpSampling3D,
kwargs={'size': (2, 2, 2), 'data_format': data_format},
input_shape=inputs.shape)
for length_dim1 in [2, 3]:
for length_dim2 in [2]:
for length_dim3 in [3]:
layer = convolutional.UpSampling3D(
size=(length_dim1, length_dim2, length_dim3),
data_format=data_format)
layer.build(inputs.shape)
outputs = layer(K.variable(inputs))
np_output = K.eval(outputs)
if data_format == 'channels_first':
assert np_output.shape[2] == length_dim1 * input_len_dim1
assert np_output.shape[3] == length_dim2 * input_len_dim2
assert np_output.shape[4] == length_dim3 * input_len_dim3
else: # tf
assert np_output.shape[1] == length_dim1 * input_len_dim1
assert np_output.shape[2] == length_dim2 * input_len_dim2
assert np_output.shape[3] == length_dim3 * input_len_dim3
# compare with numpy
if data_format == 'channels_first':
expected_out = np.repeat(inputs, length_dim1, axis=2)
expected_out = np.repeat(expected_out, length_dim2, axis=3)
expected_out = np.repeat(expected_out, length_dim3, axis=4)
else: # tf
expected_out = np.repeat(inputs, length_dim1, axis=1)
expected_out = np.repeat(expected_out, length_dim2, axis=2)
expected_out = np.repeat(expected_out, length_dim3, axis=3)
assert_allclose(np_output, expected_out)
示例4: unet_model
# 需要导入模块: from keras.layers import convolutional [as 别名]
# 或者: from keras.layers.convolutional import UpSampling3D [as 别名]
def unet_model():
inputs = Input(shape=(1, max_slices, img_size, img_size))
conv1 = Convolution3D(width, 3, 3, 3, activation = 'relu', border_mode='same')(inputs)
conv1 = BatchNormalization(axis = 1)(conv1)
conv1 = Convolution3D(width*2, 3, 3, 3, activation = 'relu', border_mode='same')(conv1)
conv1 = BatchNormalization(axis = 1)(conv1)
pool1 = MaxPooling3D(pool_size=(2, 2, 2), strides = (2, 2, 2), border_mode='same')(conv1)
conv2 = Convolution3D(width*2, 3, 3, 3, activation = 'relu', border_mode='same')(pool1)
conv2 = BatchNormalization(axis = 1)(conv2)
conv2 = Convolution3D(width*4, 3, 3, 3, activation = 'relu', border_mode='same')(conv2)
conv2 = BatchNormalization(axis = 1)(conv2)
pool2 = MaxPooling3D(pool_size=(2, 2, 2), strides = (2, 2, 2), border_mode='same')(conv2)
conv3 = Convolution3D(width*4, 3, 3, 3, activation = 'relu', border_mode='same')(pool2)
conv3 = BatchNormalization(axis = 1)(conv3)
conv3 = Convolution3D(width*8, 3, 3, 3, activation = 'relu', border_mode='same')(conv3)
conv3 = BatchNormalization(axis = 1)(conv3)
pool3 = MaxPooling3D(pool_size=(2, 2, 2), strides = (2, 2, 2), border_mode='same')(conv3)
conv4 = Convolution3D(width*8, 3, 3, 3, activation = 'relu', border_mode='same')(pool3)
conv4 = BatchNormalization(axis = 1)(conv4)
conv4 = Convolution3D(width*8, 3, 3, 3, activation = 'relu', border_mode='same')(conv4)
conv4 = BatchNormalization(axis = 1)(conv4)
conv4 = Convolution3D(width*16, 3, 3, 3, activation = 'relu', border_mode='same')(conv4)
conv4 = BatchNormalization(axis = 1)(conv4)
up5 = merge([UpSampling3D(size=(2, 2, 2))(conv4), conv3], mode='concat', concat_axis=1)
conv5 = SpatialDropout3D(dropout_rate)(up5)
conv5 = Convolution3D(width*8, 3, 3, 3, activation = 'relu', border_mode='same')(conv5)
conv5 = Convolution3D(width*8, 3, 3, 3, activation = 'relu', border_mode='same')(conv5)
up6 = merge([UpSampling3D(size=(2, 2, 2))(conv5), conv2], mode='concat', concat_axis=1)
conv6 = SpatialDropout3D(dropout_rate)(up6)
conv6 = Convolution3D(width*4, 3, 3, 3, activation = 'relu', border_mode='same')(conv6)
conv6 = Convolution3D(width*4, 3, 3, 3, activation = 'relu', border_mode='same')(conv6)
up7 = merge([UpSampling3D(size=(2, 2, 2))(conv6), conv1], mode='concat', concat_axis=1)
conv7 = SpatialDropout3D(dropout_rate)(up7)
conv7 = Convolution3D(width*2, 3, 3, 3, activation = 'relu', border_mode='same')(conv7)
conv7 = Convolution3D(width*2, 3, 3, 3, activation = 'relu', border_mode='same')(conv7)
conv8 = Convolution3D(1, 1, 1, 1, activation='sigmoid')(conv7)
model = Model(input=inputs, output=conv8)
model.compile(optimizer=Adam(lr=1e-5),
loss=dice_coef_loss, metrics=[dice_coef])
return model