MCPcopy Create free account
hub / github.com/SystemErrorWang/White-box-Cartoonization / Vgg19

Class Vgg19

train_code/loss.py:16–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14
15
16class Vgg19:
17
18 def __init__(self, vgg19_npy_path=None):
19
20 self.data_dict = np.load(vgg19_npy_path, encoding='latin1', allow_pickle=True).item()
21 print('Finished loading vgg19.npy')
22
23
24 def build_conv4_4(self, rgb, include_fc=False):
25
26 rgb_scaled = (rgb+1) * 127.5
27
28 blue, green, red = tf.split(axis=3, num_or_size_splits=3, value=rgb_scaled)
29 bgr = tf.concat(axis=3, values=[blue - VGG_MEAN[0],
30 green - VGG_MEAN[1], red - VGG_MEAN[2]])
31
32 self.conv1_1 = self.conv_layer(bgr, "conv1_1")
33 self.relu1_1 = tf.nn.relu(self.conv1_1)
34 self.conv1_2 = self.conv_layer(self.relu1_1, "conv1_2")
35 self.relu1_2 = tf.nn.relu(self.conv1_2)
36 self.pool1 = self.max_pool(self.relu1_2, 'pool1')
37
38 self.conv2_1 = self.conv_layer(self.pool1, "conv2_1")
39 self.relu2_1 = tf.nn.relu(self.conv2_1)
40 self.conv2_2 = self.conv_layer(self.relu2_1, "conv2_2")
41 self.relu2_2 = tf.nn.relu(self.conv2_2)
42 self.pool2 = self.max_pool(self.relu2_2, 'pool2')
43
44 self.conv3_1 = self.conv_layer(self.pool2, "conv3_1")
45 self.relu3_1 = tf.nn.relu(self.conv3_1)
46 self.conv3_2 = self.conv_layer(self.relu3_1, "conv3_2")
47 self.relu3_2 = tf.nn.relu(self.conv3_2)
48 self.conv3_3 = self.conv_layer(self.relu3_2, "conv3_3")
49 self.relu3_3 = tf.nn.relu(self.conv3_3)
50 self.conv3_4 = self.conv_layer(self.relu3_3, "conv3_4")
51 self.relu3_4 = tf.nn.relu(self.conv3_4)
52 self.pool3 = self.max_pool(self.relu3_4, 'pool3')
53
54 self.conv4_1 = self.conv_layer(self.pool3, "conv4_1")
55 self.relu4_1 = tf.nn.relu(self.conv4_1)
56 self.conv4_2 = self.conv_layer(self.relu4_1, "conv4_2")
57 self.relu4_2 = tf.nn.relu(self.conv4_2)
58 self.conv4_3 = self.conv_layer(self.relu4_2, "conv4_3")
59 self.relu4_3 = tf.nn.relu(self.conv4_3)
60 self.conv4_4 = self.conv_layer(self.relu4_3, "conv4_4")
61 self.relu4_4 = tf.nn.relu(self.conv4_4)
62 self.pool4 = self.max_pool(self.relu4_4, 'pool4')
63
64 return self.conv4_4
65
66 def max_pool(self, bottom, name):
67 return tf.nn.max_pool(bottom, ksize=[1, 2, 2, 1],
68 strides=[1, 2, 2, 1], padding='SAME', name=name)
69
70 def conv_layer(self, bottom, name):
71 with tf.variable_scope(name):
72 filt = self.get_conv_filter(name)
73

Callers 1

vggloss_4_4Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected