Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在tensorflow中将单个神经元的输出转换为0和1类_Python 3.x_Tensorflow_Deep Learning_Data Science - Fatal编程技术网

Python 3.x 如何在tensorflow中将单个神经元的输出转换为0和1类

Python 3.x 如何在tensorflow中将单个神经元的输出转换为0和1类,python-3.x,tensorflow,deep-learning,data-science,Python 3.x,Tensorflow,Deep Learning,Data Science,我在泰坦尼克号数据集上做了一个NN。为了计算模型的精度,我希望输出Z3/A3为1,如果它高于0.5,否则为0 如果有其他的方法来做这种事情。那么请告诉我 这是我的前向道具功能 def forward_prop(X, parameters): W1 = parameters['W1'] W2 = parameters['W2'] b1 = parameters['b1'] b2 = parameters['b2'] W3 = parameters['W3']

我在泰坦尼克号数据集上做了一个NN。为了计算模型的精度,我希望输出Z3/A3为1,如果它高于0.5,否则为0

如果有其他的方法来做这种事情。那么请告诉我

这是我的前向道具功能

def forward_prop(X, parameters):
    W1 = parameters['W1']
    W2 = parameters['W2']
    b1 = parameters['b1']
    b2 = parameters['b2']
    W3 = parameters['W3']
    b3 = parameters['b3']

    Z1 = tf.matmul(W1, tf.transpose(X))
    A1 = tf.nn.relu(tf.add(Z1, b1))
    Z2 = tf.matmul(W2, A1)
    A2 = tf.nn.relu(tf.add(Z2, b2))
    Z3 = tf.matmul(W3, A2)
    A3 = tf.nn.softmax(tf.add(Z3, b3))

    return A3
A3的输出形状为1,1

这是成本函数

def compute_cost(Z3, Y, m):
    cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(
        labels=tf.transpose(Y), logits=Z3))
    return cost
它以一些数字的形式给出输出。。。我希望输出为离散类,即0和1

请帮忙

计算类输出神经元的概率分布,如果只有1个输出神经元,则1个神经元的概率分布始终为1.0。我建议结合使用,例如:

如果A3大于0.5,则预测将返回True,否则返回False。 您可以将布尔预测转换为其他类型,例如整数:

class_label = tf.cast(prediction, tf.int32)
这样,True将转换为1,False将转换为0。 对于成本函数,使用:


如果你有更多关于单神经元二元分类的详细信息,我建议你进一步研究。

LOL现在是凌晨3点,我忘记了我的概念。我知道我忘了什么,结果发现是乙状结肠。我不知道tf。更大的。。。非常感谢:@mohisaini您的代码可能包含bug,我更新了答案,请查看***部分这是我的第一个模型:。有什么改进的建议吗?@mohisaini我看了看代码,那不是一个bug,很抱歉。否则看起来没问题,但我没有运行代码。
class_label = tf.cast(prediction, tf.int32)
cost = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(labels=tf.transpose(Y), logits=Z3))