def initializeWeights(self):
shared_sizes = []
self.weights_shared = []
self.biases_shared = []
for i in range(len(self.hidden_sizes_shared)):
if i==0:
input_len = self.input_size
else:
input_len = self.hidden_sizes_shared[i-1]
output_len = self.hidden_sizes_shared[i]
layer_weights = tfnet.weight_variable([input_len, output_len],name='weights' + str(i))
layer_biases = tfnet.bias_variable([output_len], name='biases' + str(i))
self.weights_shared.append(layer_weights)
self.biases_shared.append(layer_biases)
shared_sizes.append((str(input_len) + "x" + str(output_len), str(output_len)))
task_initial_w1 = tf.truncated_normal([self.n_tasks,self.hidden_sizes_shared[-1],self.hidden_size_task], stddev=1.0 / math.sqrt(float(self.hidden_sizes_shared[-1])))
self.task_w1 = tf.Variable(task_initial_w1, name="task_weight1")
task_initial_b1 = tf.constant(0.1, shape=[self.n_tasks,self.hidden_size_task])
self.task_b1 = tf.Variable(task_initial_b1, name="task_bias1")
task_initial_w2 = tf.truncated_normal([self.n_tasks,self.hidden_size_task,self.output_size], stddev=1.0 / math.sqrt(float(self.hidden_size_task)))
self.task_w2 = tf.Variable(task_initial_w2, name="task_weight2")
task_initial_b2 = tf.constant(0.1, shape=[self.n_tasks,self.output_size])
self.task_b2 = tf.Variable(task_initial_b2, name="task_bias2")
if self.verbose:
print "Okay, making a neural net with the following structure:"
print "\tShared:", shared_sizes
print "\tTask:", tf.shape(self.task_w1), "x", tf.shape(self.task_w2)
tensorFlowNetworkMultiTask.py 文件源码
python
阅读 35
收藏 0
点赞 0
评论 0
评论列表
文章目录