럭키비키 오류 모음

ReadTimeout: HTTPSConnectionPool(host='...', port=443): Read timed out. 오류

luckyejin 2024. 9. 2. 20:58
Google Colab환경에서 huggingface로부터 clip_score를 구하는 코드에서 다음과 같은 오류가 발생했다. 

 


"ReadTimeout: HTTPSConnectionPool(host='...', port=443): Read timed out."

 

import torch
import numpy as np
from PIL import Image
from torchmetrics.functional.multimodal import clip_score
from functools import partial
 
# CLIP Score 함수 설정
clip_score_fn = partial(clip_score, model_name_or_path="openai/clip-vit-base-patch16")
 
def calculate_clip_score(image_path, prompts):
    # 이미지 파일 열기
    image = Image.open(image_path)
 
    # 이미지를 numpy 배열로 변환 및 255로 스케일링
    images = np.array(image) / 255.0
    images_int = (images * 255).astype("uint8")
 
    # CLIP Score 계산
    clip_score_val = clip_score_fn(torch.from_numpy(images_int).unsqueeze(0).permute(0, 3, 1, 2), prompts).detach()
    return round(float(clip_score_val), 4)
 
# CLIP Score 계산
sd_clip_score = calculate_clip_score("generated_musk_image.png", target)
print(f"CLIP score: {sd_clip_score}")

 


아래의 코드를 추가하여 오류를 해결하였다.

Python에서 네트워크 연결의 성능을 최적화하기 위해 소켓 옵션을 설정하는 코드로,
네트워크 통신 시 송수신 버퍼 크기를 조절하여 성능을 향상시킬 수 있다.
 
import urllib3, socket
from urllib3.connection import HTTPConnection
 
HTTPConnection.default_socket_options = ( 
    HTTPConnection.default_socket_options + [
    (socket.SOL_SOCKET, socket.SO_SNDBUF, 1000000), #1MB in byte
    (socket.SOL_SOCKET, socket.SO_RCVBUF, 1000000)
])