주피터: 커널이 죽은 것 같습니다. 자동으로 다시 시작됩니다. (Keras Related)
레스넷50을 훈련시키려고 하는데, 주피터 노트북의 커널이 죽어가고 있기 때문에(), 훈련을 시작하는 순간(에포치 1/100) 어떻게 해도 실패합니다. 나는 지포스 GTX 1060 Ti를 가지고 있는데, 내가 훈련 중에 할 때 (1초 동안) 과거와 비교하여 80MB의 메모리가 할당되는 것을 볼 수 있고, 그리고 나서 커널이 실패하는 것을 볼 수 있다.
요구 사항은 다음과 같습니다:
pandas==0.25.1
numpy==1.17.2
opencv-python==4.1.1.26
scikit-image==0.15.0
scikit-learn==0.21.3
tensorflow-gpu==1.14.0
Keras==2.2.5
matplotlib==3.1.1
Pillow==6.1.0
albumentations==0.3.2
tqdm==4.35.0
jupyter
내가 만족하는 바입니다. 교육 세션을 설정하는 방법은 다음과 같습니다:
config = tf.ConfigProto()
config.gpu_options.allow_growth = False
config.gpu_options.per_process_gpu_memory_fraction = 0.9
sess = tf.Session(config=config)
keras.backend.set_session(sess)
keras.__version__
os.environ["CUDA_VISIBLE_DEVICES"] = '0' #yes, this is the ID of my GPU.
# create the FCN model
model_mobilenet = ResNet50(input_shape=(1024, 1024, 3), include_top=False) # use the Resnet
model_x8_output = Conv2D(128, (1, 1), activation='relu')(model_mobilenet.layers[-95].output)
model_x8_output = UpSampling2D(size=(8, 8))(model_x8_output)
model_x8_output = Conv2D(3, (3, 3), padding='same', activation='sigmoid')(model_x8_output)
MODEL_x8 = Model(inputs=model_mobilenet.input, outputs=model_x8_output)
MODEL_x8.compile(loss='binary_crossentropy', optimizer=Adam(lr=1e-3), metrics=[jaccard_distance])
MODEL_x8.fit_generator(train_generator, steps_per_epoch=300, epochs=100, verbose=1, validation_data=val_generator, validation_steps=10)
Epoch 1/100
1/300 [..............................] - ETA: 1:01:59 - loss: 0.7193 - jaccard_distance: 0.1125
다음 설정을 시도했습니다:
- 로.
- 다음과 같은 임의의 다른 값으로
- 코멘트아웃:
그들 중 아무도 작동하지 않았다. 건설적인 답변에 감사드립니다.
잘 부탁드립니다.
나는 이제 이것을 (노트북이 아닌) 스크립트로 실행하려고 시도했고 Tensorflow 세션 줄이 올라오는 순간 터미널은 다음을 던집니다:
2020-01-28 13:44:55.756819: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/username/ros_ws/devel/lib:/opt/ros/melodic/lib
2020-01-28 13:44:55.757047: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/username/ros_ws/devel/lib:/opt/ros/melodic/lib
2020-01-28 13:44:55.757313: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/username/ros_ws/devel/lib:/opt/ros/melodic/lib
2020-01-28 13:44:55.757526: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/username/ros_ws/devel/lib:/opt/ros/melodic/lib
2020-01-28 13:44:55.757736: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/username/ros_ws/devel/lib:/opt/ros/melodic/lib
2020-01-28 13:44:55.757940: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/username/ros_ws/devel/lib:/opt/ros/melodic/lib
2020-01-28 13:44:55.808416: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7
2020-01-28 13:44:55.808444: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1663] Cannot dlopen some GPU libraries. Skipping registering GPU devices...
제가 CUDA 10, 오히려 9.0을 가지고 있지 않기 때문에 이상합니다. 그래서 이것은 묻지도 말아야 합니다. 내 텐서플로 버전이 잘못된 건가요?
대부분의 경우 메모리가 부족하여 데이터/모델을 저장할 수 없습니다. 입력 이미지 크기도 1024x1024입니다. 최소한 작동하는지 확인하기 위해 256 또는 128과 같은 작은 이미지 크기의 교육을 시도해 보는 것이 좋습니다.
또한 TF에 의해 GPU가 감지되고 있습니까?
알았어, 알겠어.
문제는 CUDA 버전(9.0)과 호환되지 않는 텐서플로=프로세서 버전(1.14)이었다. 나는 1.13보다 낮은 버전을 설치해야 했다. 하지만 그것이 유일한 함정은 아니다. 내 CuDNN 버전(705)도 문제가 있었고, 텐서플로-gpu를 1.9.0으로 줄여야 했다.
이제 모든 것이 작동합니다.
내 경우(윈도우 10, rtx 3050ti GPU, 4GB VRAM), "커널이 죽은 것 같다" 오류는 CUDA 11(및 관련 CuDNN)을 제거하고 CUDA 10.1(및 CuDNN 2.2.0)을 설치할 뿐만 아니라 텐서플로 웹사이트가 작동하는 동안 tesorflow-pug 2.2.0(파이썬 3.8)을 설치함으로써 해결되었다 python 3.5를 테스트하여 python을 다운그레이드하지 않았습니다). 하지만, 나는 내 GPU가 내 코어-i7 인텔 CPU에 비해 모델을 만드는 데 너무 오래 걸리기 때문에 결과에 만족하지 않는다.
한마디로, 이 오류는 새로운 CUDA에 따라 CUDA를 다운그레이드하고 관련 대응물을 설치함으로써 해결할 수 있는 GPU와 CUDA 버전의 비호환성과 관련이 있는 것으로 보인다.
'개발하자' 카테고리의 다른 글
Jupyter 노트북에만 표시되는 환경 변수 업데이트 (0) | 2023.01.21 |
---|---|
Download file using fastapi (0) | 2023.01.20 |
앱 모음이 없는 플러터 탭 모음 (0) | 2023.01.19 |
GitLab Auto DevOps on Kubernetes hangs, network timeouts, cannot execute yj (0) | 2023.01.18 |
Python FastAPI에서 원시 HTTP 요청/응답을 기록하는 방법은 무엇입니까? (0) | 2023.01.18 |