본문 바로가기
반응형

Minding's Programming/에러 코드6

Python 프로그래밍 중 가장 많이 발생하는 5가지 에러코드 정리 Python을 몇 년 동안 사용해왔음에도 멍 때리며 코드를 작성하다 보면 실수로 에러코드를 화면에 띄우기도 한다. 이 참에 Python 프로그래밍 중 보통 사람들이 가장 많이 실수하는(물론 나도 마찬가지다.) 에러코드를 정리해보면서 코드 작성시 유의해보려고 한다. 1. SyntaxError (구문 오류) 이 에러는 코드가 파이썬 문법에 맞지 않을 때 발생한다. 주로 쉼표, 괄호, 콜론 등을 잘못 사용할 때 발생할 수 있다. # SyntaxError 예시 print("Hello World" # 올바른 코드 print("Hello World") 해결방법: 코드를 정확하게 다듬고 문법을 검토하여 올바른 구문을 사용하면 된다. 앞 뒤를 잘 살펴보자. 2. IndentationError (들여쓰기 오류) 거의 대.. 2023. 8. 8.
ModuleNotFoundError: No module named 'sklearn.utils.linear_assignment_' DeepSort 논문 코드 구현 중 발생한 에러이다. scikit-learn의 기능 중 linear_assignment_가 0.23버젼부터 사라져 그 이상의 버젼을 사용한다면 나타나는 에러이다. sklearn.utils.linear_assignment_는 scipy.optimize .linear_sum_assignment 로 대체 가능하다! 또는 scikit-learn 버젼 자체를 0.22로 다운그레이드해도 실행가능하다 (이 경우 scikit-learn의 다른 기능을 사용하지 못하게 될 수도 있다.) 두 가지 해결방법 모두 아래 코드에 기록해 놓았다. # scipy로 바꾸어 사용하는 경우 # import 하는 부분에 해당 코드 입력하면 다른 코드 수정 불필요 from scipy.optimize impor.. 2021. 4. 1.
[에러코드/DeepSort] KeyError: "The name 'net/images:0' refers to a Tensor which does not exist. The operation, 'net/images', does not exist in the graph." DeepSort 논문 코드 구현 중 발생한 에러이다. Yolo 또는 다른 Detector를 통해 Dataset에 해당하는 Detection들을 생성할 때 생기는 문제로 입력노드와 출력노드의 이름을 변경하여 에러를 해결할 수 있다. tools폴더 안에 있는 generate_detections.py의 83번째 줄과 85번째 줄을 다음과 같이 수정하자. "net / % s : 0"=> "% s : 0" class ImageEncoder(object): def __init__(self, checkpoint_filename, input_name="images", output_name="features"): self.session = tf.compat.v1.Session() with tf.io.gfile.GFile.. 2021. 4. 1.
AttributeError: module 'tensorflow' has no attribute 'gfile' DeepSort 코드 구현 중 해당 에러가 발생했다. Tensorflow 버젼이 2.0 이상이면 발생하는 문제로, Tensorflow 버젼을 다운그레이드 하거나 아래 코드로 수정하면 해결된다. # 코드수정 tf.gfile = tf.io.gfile # Tensorflow version 재설치 (다운그레이드) # x에는 원하는 버젼 입력 conda install tensorflow==1.x.x 2021. 4. 1.
ModuleNotFoundError: No module named 'tensorflow.contrib' DeepSort 논문 코드 구현 중에, 해당 에러가 발생했다. tf.Session() 문제와 같이, tf.compat.v1 을 사용하면 되는 줄 알았으나, 별 효과가 없었다 (ㅜㅜ) 더 나은 방법이 있겠지만, 본인은 그냥 버젼을 다운그레이드 하기로 합의봤다 (RTX3090은 사용 못하게 되겠지만...) DeepSort는 Tensorflow 1.5 버젼에서 개발되었다고 하니, 그에 맞추기로 한다. conda install tensorflow == 1.5.0 pip 또는 pip3는 본인만의 문제인지는 모르겠으나, 설치가 불가능했다. (2.0이상만 지원한다고 말해준다.) conda를 통해 install 하니, 정상적으로 설치할 수 있었고, 위의 코드도 정상적으로 실행되었다. 2021. 4. 1.
AttributeError: module 'tensorflow' has no attribute 'Session' DeepSort 논문 코드 구현 중에 위와 같은 에러가 발생했다. 저자의 Github에는 호환성을 해결하는 코드가 있긴 하지만... 효력이 없었다. 위와 같은 에러가 발생할 경우, 에러가 발생하는 파일의 코드를 찾아 이와 같이 고쳐주면 된다. # 예시 sess = tf.Session() # 수정 sess = tf.compat.v1.Session Tensorflow 버젼 문제가 달라 발생하는 에러로, Tensorflow 2.x.x 이상을 사용한다면 발생한다. Tensorflow 2.0부터 tf.Session() 메소드가 삭제되었기 때문에 해당 코드를 수정하면 정상적으로 실행 가능하다. 버젼 호환성에 충돌이 많을 경우, 코드 개발에 사용된 버젼을 확인하여 해당 버젼으로 다운/ 업그레이드 해주는 것도 하나의 .. 2021. 4. 1.
728x90
반응형