열정/프로그래밍
[Error] Jupyter notebook에서 matplotlib의 imshow 사용 시 커널 다운 현상
lime9
2024. 2. 21. 19:46
연구 도중에 발생한 에러...
해결하기 위해 여러 방법을 사용해보다가 드디어 해결했다.
문제가 발생한 코드
n_samples = 10
for i, (im_name, gt_classes, gt_rels, boxes) in enumerate(list(zip(dataset.filenames, dataset.gt_classes,
dataset.relationships, dataset.gt_boxes))):
im_path = os.path.join(dataset.images_dir, im_name)
triplets = []
for r in gt_rels:
triplets.append(dataset.triplet2str('{}_{}_{}'.format(gt_classes[r[0]], r[2], gt_classes[r[1]])))
print('ZS triplets:', triplets)
plt.figure(figsize=(7,7))
im = cv2.imread(im_path)[:,:,::-1]
obj_class_names = [dataset.ind_to_classes[cls] for cls in gt_classes]
plt.imshow(draw_boxes(im, obj_class_names, boxes, fontscale=1, rels=gt_rels))
plt.title(im_path)
plt.grid(False)
plt.axis(False)
plt.show()
if i >= n_samples:
break
이미지만 출력이 안되고 커널이 다운되는 현상이 발생했다.
해결 방법
imshow를 사용하는 코드 내에서 다음을 선언해주면 된다.
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'