我已经开始使用 Tariq Rashid 的书来接触 Python 和神经网络。按照所有步骤仔细阅读并尝试。有一次,我应该测试一个方法,看它是否正确执行。所以我做了什么,我使用 print 转换了方法(该方法有一个返回值)。现在我的问题是,它工作正常,但虽然输出应该是单个数组,但它们是 2 个具有不同值的数组。当我尝试调试文件时,它也通过打印命令进行了 2 次,其中只有 1 次。
我唯一的区别是,我将init用作主要类(来自 java),并且我将神经网络创建为其中的一个对象。
还要提一下,如果我在神经网络文件中执行相同的程序,它工作正常。
from src2.neuralNetwork import NeuralNetwork
network = NeuralNetwork(3, 3, 3, 0.3)
print(network.query([1.0, 0.5, -1.5]))
这是 __init__.py 文件。
import numpy
import scipy.special
class NeuralNetwork:
def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):
self.inodes = inputnodes
self.hnodes = hiddennodes
self.onodes = outputnodes
self.lr = learningrate
self.wih = (numpy.random.rand(self.hnodes, self.inodes) - 0.5)
self.who = (numpy.random.rand(self.onodes, self.hnodes) - 0.5)
self.activation_function = lambda x: scipy.special.expit(x)
pass
def train(self):
pass
def query(self, inputs_list):
inputs = numpy.array(inputs_list, ndmin=2).T
hidden_inputs = numpy.dot(self.wih, inputs)
hidden_outputs = self.activation_function(hidden_inputs)
final_inputs = numpy.dot(self.who, hidden_outputs)
final_outputs = self.activation_function(final_inputs)
return final_outputs
那是神经网络的文件。
感谢您的每一个回答。
编辑:根据要求,输出。它们不是随机值的一致原因。
狐的传说
相关分类