Code Duplication    Length = 28-28 lines in 2 locations

pyActLearn/learning/nn/sda.py 1 location

@@ 63-90 (lines=28) @@
60
                self.encode_optimizer.minimize(self.inner_layers[i].encode_loss,
61
                                               var_list=self.inner_layers[i].variables)
62
            )
63
        if num_classes == 1:
64
            # Output Layers
65
            self.output_layer = HiddenLayer(layers[len(layers) - 1], num_classes, x=self.inner_layers[len(layers)-1].y,
66
                                            name='Output', activation_fn=tf.sigmoid)
67
            # Predicted Probability
68
            self.y = self.output_layer.y
69
            self.y_class = tf.cast(tf.greater_equal(self.y, 0.5), tf.float32)
70
            # Loss
71
            self.loss = tf.reduce_mean(
72
                tf.nn.sigmoid_cross_entropy_with_logits(self.output_layer.logits, self.y_,
73
                                                        name='SigmoidCrossEntropyLoss')
74
            )
75
            self.correct_prediction = tf.equal(self.y_class, self.y_)
76
            self.accuracy = tf.reduce_mean(tf.cast(self.correct_prediction, tf.float32))
77
        else:
78
            # Output Layers
79
            self.output_layer = SoftmaxLayer(layers[len(layers) - 1], num_classes, x=self.inner_layers[len(layers)-1].y,
80
                                             name='OutputLayer')
81
            # Predicted Probability
82
            self.y = self.output_layer.y
83
            self.y_class = tf.argmax(self.y, 1)
84
            # Loss
85
            self.loss = tf.reduce_mean(
86
                tf.nn.softmax_cross_entropy_with_logits(logits=self.output_layer.logits, labels=self.y_,
87
                                                        name='SoftmaxCrossEntropyLoss')
88
            )
89
            self.correct_prediction = tf.equal(self.y_class, tf.argmax(self.y_, 1))
90
            self.accuracy = tf.reduce_mean(tf.cast(self.correct_prediction, tf.float32))
91
        self.summaries.append(tf.summary.scalar('cross_entropy', self.loss))
92
        self.summaries.append(tf.summary.scalar('accuracy', self.accuracy))
93
        self.summaries += self.output_layer.summaries

pyActLearn/learning/nn/mlp.py 1 location

@@ 63-90 (lines=28) @@
60
                                name=('Hidden%d' % i), activation_fn=activation_fn)
61
                )
62
            self.summaries += self.inner_layers[i].summaries
63
        if num_classes == 1:
64
            # Output Layers
65
            self.output_layer = HiddenLayer(layers[len(layers) - 1], num_classes, x=self.inner_layers[len(layers)-1].y,
66
                                            name='Output', activation_fn=tf.sigmoid)
67
            # Predicted Probability
68
            self.y = self.output_layer.y
69
            self.y_class = tf.cast(tf.greater_equal(self.y, 0.5), tf.float32)
70
            # Loss
71
            self.loss = tf.reduce_mean(
72
                tf.nn.sigmoid_cross_entropy_with_logits(logits=self.output_layer.logits, labels=self.y_,
73
                                                        name='SigmoidCrossEntropyLoss')
74
            )
75
            self.correct_prediction = tf.equal(self.y_class, self.y_)
76
            self.accuracy = tf.reduce_mean(tf.cast(self.correct_prediction, tf.float32))
77
        else:
78
            # Output Layers
79
            self.output_layer = SoftmaxLayer(layers[len(layers) - 1], num_classes, x=self.inner_layers[len(layers)-1].y,
80
                                             name='OutputLayer')
81
            # Predicted Probability
82
            self.y = self.output_layer.y
83
            self.y_class = tf.argmax(self.y, 1)
84
            # Loss
85
            self.loss = tf.reduce_mean(
86
                tf.nn.softmax_cross_entropy_with_logits(logits=self.output_layer.logits, labels=self.y_,
87
                                                        name='SoftmaxCrossEntropyLoss')
88
            )
89
            self.correct_prediction = tf.equal(self.y_class, tf.argmax(self.y_, 1))
90
            self.accuracy = tf.reduce_mean(tf.cast(self.correct_prediction, tf.float32))
91
        self.summaries.append(tf.summary.scalar('cross_entropy', self.loss))
92
        self.summaries.append(tf.summary.scalar('accuracy', self.accuracy))
93
        self.summaries += self.output_layer.summaries