Isaac-Sim 강화학습 cartpole 모델 저장하기

728x90
반응형

 

save_model 에러

경로를 못찾는다는 에러가 났다.

 

train_callback.py

아마 path경로 때문일 것이다.

python.bat 파일이 위치한 곳을 기준으로 상대경로를 잡아서 그렇다. 

 

경로 변경

isaac sim python이 있는 프로젝트 위치에 

custom_standalones 폴더를 넣고, 그 안에 clone해서

 

이렇게 위치하게 해준다.

 

내부 utils 모듈 코드도 update_utils로 변경해주고.

다시 실행해보자.

 

이 handle 함수에서 train_num이 십만 번이 되고

save_model이 정상적으로 되는지 확인하자. 

 

그냥 주기를 100번으로 바꾸고 빨리 테스트 해보자. 

 

save_model ckpt 디렉토리 추가

여전히 경로 에러.

 

ckpt폴더까지 만들어서 해보자. 

 

오? 

이번엔 중간에 saved라는 로그가 찍혔다.

 

ckpt 디렉토리에 보니 모델이 잘 저장되었다. 

 

학습모델 test 방법

test.py

from model.actor import Actor
from model.critic import Critic
import torch
import numpy as np
from safetensors.torch import load_model, save_model
import os

actor = Actor()
critic = Critic()

print(os.path.join(os.getcwd(), 'custom_standalones/cartpole_train/ckpt/model.safetensors'))

save_model(actor, os.path.join(os.getcwd(), 'custom_standalones/cartpole_train/ckpt/model.safetensors'))

test코드는 이렇게 되어있는데 

 

아무래도 학습이 완료되면 model이라는 이름으로 safetensors파일이 최종적으로 저장될 것이다. 

 

학습이 완료된 것 같은데.

model.safetensors 파일이 생성되지는 않았다.

 

test.py를 실행해볼까. 

 

test.py를 실행하면 model 파일이 생성된다. 

 

코드를 찾아보니 안타깝게도 보상을 통해 결과 모델을 생성하는 것까지 test.py에 있지만.

이 학습모델 결과를 가지고 돌려보는 것은 미구현 상태이다.

 

해당 부분들에 대해서는 더 많이 공부해봐야할 것 같다. 

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유