def __init__(self, n_actions): super().__init__() self.n_actions = n_actions self.feature = tf.keras.Sequential([ ConvBlock(32, kernel_size=(9, 9), activation_='relu', sampling='stride', normalization='batch'), ConvBlock(64, kernel_size=(5, 5), activation_='relu', sampling='same', normalization='batch'), ConvBlock(64, kernel_size=(5, 5), activation_='relu', sampling='stride', normalization='batch'), ConvBlock(128, kernel_size=(5, 5), activation_='relu', sampling='same', normalization='batch'), ConvBlock(128, kernel_size=(5, 5), activation_='relu', sampling='stride', normalization='batch'), ]) self.dense1 = DenseBlock(512, activation_='relu', normalization='batch') self.dense2 = DenseBlock(n_actions)
def __init__(self, latent_dim, nb_filter=16, last_activation='tanh', normalization='batch', upsampling='deconv', spectral_norm=False): super().__init__(latent_dim, nb_filter, last_activation, normalization, upsampling, spectral_norm) self.convs = [] self.dense = DenseBlock(4*4*nb_filter*(2**3), activation_='relu', normalization=normalization, spectral_norm=spectral_norm) for i in range(1, 4): _nb_filter = nb_filter*(2**(3-i)) if upsampling == 'subpixel': _nb_filter *= 4 self.convs.append(ConvBlock(_nb_filter, kernel_size=(5, 5), sampling=upsampling, **self.conv_block_params)) self.last_conv = ConvBlock(1, kernel_size=(1, 1), **self.last_conv_block_params)
def __init__(self, output_dim, nb_filter=16, normalization='batch', downsampling='stride'): super().__init__(output_dim, nb_filter, normalization, downsampling) norm_params = {'center': False, 'scale': False} self.convs = [ ConvBlock(nb_filter * (2**i), kernel_size=(5, 5), kernel_regularizer=tf.keras.regularizers.l2(1.), norm_params=norm_params, **self.conv_block_params) for i in range(3) ] self.dense1 = DenseBlock( 128, activation_='lrelu', kernel_regularizer=tf.keras.regularizers.l2(1.), use_bias=False, norm_params=norm_params, normalization=self.normalization) self.dense2 = DenseBlock( self.output_dim, kernel_regularizer=tf.keras.regularizers.l2(1.), use_bias=False)
def __init__(self, n_actions): super().__init__() self.n_actions = n_actions self.feature = tf.keras.Sequential([ ConvBlock(32, kernel_size=(9, 9), activation_='relu', sampling='stride', normalization='batch'), ConvBlock(64, kernel_size=(5, 5), activation_='relu', sampling='same', normalization='batch'), ConvBlock(64, kernel_size=(5, 5), activation_='relu', sampling='stride', normalization='batch'), ConvBlock(128, kernel_size=(5, 5), activation_='relu', sampling='same', normalization='batch'), ConvBlock(128, kernel_size=(5, 5), activation_='relu', sampling='stride', normalization='batch'), tf.keras.layers.Flatten() ]) self.value_branch = tf.keras.Sequential([ DenseBlock(512, activation_='relu', normalization='batch'), DenseBlock(1), ]) self.advantage_brach = tf.keras.Sequential([ DenseBlock(512, activation_='relu', normalization='batch'), DenseBlock(n_actions), ])
def __init__(self, latent_dim=2, nb_filter=32, last_activation='tanh', normalization='batch', downsampling='stride', upsampling='deconv'): super().__init__(latent_dim, nb_filter, last_activation, normalization, downsampling, upsampling) self.feature_shape = (2, 2, nb_filter * (2**3)) self.downs = [ ConvBlock(nb_filter * (2**i), kernel_size=(3, 3), sampling=downsampling, **self.conv_block_params) for i in range(4) ] self.dense_down1 = DenseBlock(64, activation_='lrelu', normalization=normalization) self.dense_down2 = DenseBlock(latent_dim) self.dense_up1 = DenseBlock(64, activation_='lrelu', normalization=normalization) self.dense_up2 = DenseBlock(self.feature_shape[0] * self.feature_shape[1] * self.feature_shape[2], activation_='lrelu', normalization=normalization) self.ups = [ ConvBlock(nb_filter * (2**(3 - i)), kernel_size=(3, 3), sampling=upsampling, **self.conv_block_params) for i in range(4) ] self.last_conv = ConvBlock(1, kernel_size=(1, 1), activation_=last_activation)
def __init__(self, nb_filter=16, normalization='batch', downsampling='stride', spectral_norm=False): super().__init__(nb_filter, normalization, downsampling, spectral_norm) self.convs = [] for i in range(4): _nb_filter = nb_filter * (2**i) self.convs.append( ConvBlock(_nb_filter, kernel_size=(5, 5), sampling=downsampling, **self.conv_block_params)) self.dense = DenseBlock(1, spectral_norm=spectral_norm)