tensorFlowNetworkMultiTask.py 文件源码

python
阅读 35 收藏 0 点赞 0 评论 0

项目:PersonalizedMultitaskLearning 作者: mitmedialab 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号