TensorFlow `mnist_softmax.py` 해석 1
mnist_softmax.py
파일을 실행할 때 가장 아래에 있는 코드가 실제로 실행됩니다.if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--data_dir', type=str, default='inputdata',
help='Directory for storing input data')
FLAGS, unparsed = parser.parse_known_args()
tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
다음은 각각 이 단락의 코드를 해석한다
1 정보main__
여기에는 Python 프로그램에서 자주 사용하는 기교가 사용되었다.즉
if __name__ == '__main__':
를 사용하여 이 프로그램을 독립적으로 실행할 수도 있고 모듈로 다른 프로그램에 가져올 수도 있다.python에서ifname__ == '__main__': 의 구문 분석 링크
.py
파일을 열 때 코드의 맨 아래에서 자주 볼 수 있다if __name__ == '__main__':
. 그 역할을 소개해 드리겠습니다.python에서 각.py
파일은 하나의 모듈이자 대상이며 모든 모듈은 내장 속성__name__
이 있습니다.모듈의 __name__
값은 모듈을 어떻게 사용하느냐에 따라 달라집니다.import
모듈이 있다면 모듈__name__
의 값은 보통 모듈 파일 이름(경로나 파일 확장자 없음)이다.__name__
의 값은 특별히 부족한 값"__main__"
이 됩니다.요컨대
mnist_softmax.py
하면 __name__
의 값은 '__main__'
이다.import mnist_softmax
를 사용하여 이 파일(모듈)을 가져오면 __name__
의 값이 'mnist_softmax'
입니다.if __name__ == '__main__'
로 이 .py
파일을 직접 실행하고 있는지 판단한다.2 Parser 정보
코드에서 이 두 줄은 이 프로그램에 명령행 파라미터를 처리하는 기능을 추가하여 프로그램의 입력 파라미터를 처리하는 데 쓰인다.
parser = argparse.ArgumentParser()
parser.add_argument('--data_dir', type=str, default='inputdata',
help='Directory for storing input data')
즉, Anaconda 명령줄이나 시스템의 cmd에서 프로그램을 실행할 때 디렉터리 파라미터
--data-dir= ' '
를 추가하여 데이터를 지정한 디렉터리에 저장할 수 있습니다.실행할 때 이 파라미터를 추가하지 않아도 됩니다. 이 파라미터는 기본값default='inputdata'
을 얻을 수 있습니다.코드의 다음 줄
FLAGS, unparsed = parser.parse_known_args()
는 받은 매개변수의 값을 FLAGS에 지정합니다.이 문장을 지나가면 FLAG입니다.data_디렉터리에 있는 인자를 디렉터리에 저장합니다.
예를 들어 cmd에서 실행 중인 경우
python mnist_softmax.py --data-dir="Data"
FLAGS.data_dir = 'Data' .이 프로그램은 현재 디렉토리의 Data 폴더에서 MNIST 데이터 파일을 찾습니다.
물론 파라미터의 운행을 하지 않아도 된다.하면, 만약, 만약...
python mnist_softmax.py
프로그램은 기본값
default='inputdata'
을 사용합니다.FLAGS.data_dir = 'inputdata' 3 tf에 관하여.app.run
tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
이 단락의 코드는 너무 많이 알 필요가 없다.이것만 알면 코드에 정의된main 함수 def main(_):
를 호출하고 실행하는 데 사용됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.