그래서 Pybrain API를 사용하여 네트워크를 만드는 클래스를 만드는 과정에 있습니다. Pybrain의 API에 내 발을 들여 놓기위한 약간의 프로세스 만 제공됩니다.클래스의 변수 범위에 문제가 있습니까?
제 문제는 클래스에서 범위가 작동하는 방식에 다소 익숙합니다. 기본적으로 프로그램을 올바르게 설정했지만 키 오류가 계속 발생합니다.
조치가 필요한 모든 변수는 함수에서 작성됩니다. 클래스에 대해 작업하고있는 메서드는 파이썬에서 vars() [] 메서드를 사용하여 init 함수에 선언 된 변수 중 하나를 호출하려고합니다. Matching Binary operators in Tuples to Dictionary Items
어쨌든, 방법은 다음과 같습니다 :
이def constructnetwork(self):
"""constructs network using gathered data in __init__"""
if self.recurrent:
self.network = pybrain.RecurrentNetwork
#add modules/connections here
elif self.forward:
self.network = pybrain.FeedForwardNetwork
else:
self.network = pybrain.network
print vars()[self.CONNECT+str(1)]
print vars()[self.CONNECT+str(2)]
print self.network
(나쁜 간격을 용서가 복사 이상 붙여 넣기하지 않았다 (실제로 여기에 코드의 ... 초안의 일부를 볼 수 있습니다 KeyError를 높이는 부분은 변수 "Connection1"(self.CONNECT = 'Connection')의 값을 얻어야하는 print vars() [self.CONNECT + str (1)]이지만 호출 키 오류.
어떻게 변수를 전송할 수 있습니까? 물어 보는 데 도움이되는 정보가 더 필요하면 quesiton을 짧게 유지하려고합니다. 가능한 한.
변수를 정의하고 조정할 수 있다고 생각했습니다. 요점은 vars에 몇 가지 루프와 var + = 1을 사용하여 입력에 따라 새 변수를 만드는 것이 었습니다. 즉, vars() [CONNECT + str (countingvariable)] Connectionx를 만들 것입니다. 여기서 x는 1 씩 증가하는 계수 변수의 값입니까? –
그리고 새로 생성 된 모듈/연결을 기반으로 네트워크를 구성 할 클래스에서 새로 정의 된 변수를 호출합니다. __init__에 할당되었습니다. –
그냥 지연 되었습니까? 나는 ~ 3 시간을이 __init__ 함수를 설정하는 데 보냈으며 거대한 것입니다 ... –