Python/Utils

파이썬 neptune.ai 로깅 세팅 방법 정리

jimmy_AI 2025. 5. 9. 00:00
반응형

안녕하세요.

이번 시간에서는 Python에서 머신러닝 모델 학습 시 매우 유용하게 모니터링이 가능한

neptune.ai를 사용하기 위한 세팅 방법에 대해서 간략하게 정리해보도록 하겠습니다.

 

 

Step 1. neptune.ai 프로젝트 생성

1. 먼저, https://neptune.ai/ 사이트에 접속해주신 뒤, 회원가입/로그인을 진행해줍니다.

 

2. 이후, 우측 상단의 Create new project로 프로젝트를 하나 생성하고,

좌측 하단의 원형 문양을 클릭하여 API 키를 확인해주신 뒤, 복사해줍니다.

 

 

Step 2. neptune 로깅 설정

3. 먼저, neptune 모듈 설치를 !pip install neptune 명령어로 진행해줍니다.

 

4. 발급 받은  API 토큰을 NEPTUNE_API_TOKEN 라는 환경변수에 등록해줍니다.

 

5. neptune 모듈을 불러와서 새로운 run을 시작해줍니다.

import neptune

run = neptune.init_run(project="workspace_name/project_name")

여기서 생성했던 workspace의 이름과 project의 이름을 위와 같이 /로 구분해서

적어주시면 됩니다.

 

위 코드를 실행해주시면 neptune.ai UI에서 프로젝트 내 새로운 run이 작동되고 있는 것을

확인해볼 수 있습니다.

 

 

Step 3. neptune 로깅 진행 예시

이제부터 진행되는 학습 과정에 대한 로깅을 자유롭게 진행해주시면 됩니다.

 

예시로, 파라미터 값들을 다음과 같이 로깅해줄 수 있습니다.

params = {
    "max_epochs": 10,
    "optimizer": "Adam",
    "dropout": 0.2,
}
run["parameters"] = params

 

neptune.ai에서 로깅된 값 조회는 다음과 같이 가능합니다.

1. parameters 폴더가 생성

 

2. 위에서 설정했던 값 기록

 

학습이 진행되면서 발생하는 loss 값을 로깅하는 예시는 다음과 같습니다.

import random

for epoch in range(10):
    # 학습 코드 예시
    loss_1 = random.random()
    loss_2 = random.random()
    
    # train > loss 디렉토리 내에 loss_1과 loss_2라는 항목으로 나눠서 기록
    run["train/loss/loss_1"].append(loss_1)
    run["train/loss/loss_2"].append(loss_2)

 

 

여기서는 이미지 등의 파일도 자유롭게 로깅이 가능합니다.

예시 코드 스니펫은 다음과 같습니다.

from neptune.types import File
import numpy as np

# 이미지 파일을 로깅하는 예시
x_train = np.random.randint(0, 256, size=(4, 28, 28, 3), dtype=np.uint8)

for idx, img in enumerate(x_train):
    run["image_series"].append(File.as_image(img))

학습 종료는 다음과 같이 선언이 가능합니다.

run.stop()

 

이 외에도 다양한 기능을 제공하는데요. 더 상세한 예시가 궁금하신 분들은

아래에 첨부한 공식 document를 참고해보시면 도움이 될 것입니다.

 

Adding Neptune to your code - neptune.ai 2.x documentation

Add Neptune to your code In your Python script, import the Neptune client library: To begin tracking your ML experiment, initialize a Neptune run. The minimal invocation is neptune.init_run(), but you can use a number of customization options: import neptu

docs-legacy.neptune.ai

 

이 글이 머신러닝 학습 모니터링 과정에 도움이 되셨기를 기원합니다.

잘 봐주셔서 감사드립니다.