python source code
-
openAI gym 환경 생성 알아보기 (2)python source code 2023. 7. 22. 19:57
Custom으로 env를 (environment) 생성시 action, observation space를 gym에서 제공하는 메소드를 통하여 생성할 수 있다. 직접 custom env를 생성하고 신경망, agent를 만들어 사용하는 경우에 어떻게 해야 discrete, multidiscrete 등의 메소드를 매 step() 함수마다 적용할 수 있는지 많은 고심을 했지만 그냥 빠르게 포기하는게 낫다는 판단을 해버렸다. 모듈화된 Agent를 사용하는 것이 아니라면 말이다.... 아래 답변과 같이 참고할만한 링크를 맨 아래에 적어두었다. 나만의 agent를 만들고 openAI에서 제공하는 rl을 사용할 것이 아니라면 맘편히 직접 만들어보자! 더보기 stable-baselines 3 does not suppor..
-
openAI gym 환경 생성 알아보기 (1)python source code 2023. 7. 22. 14:29
spaces 에서 활용할 수 있는 메소드는 여러 종류가 있지만 사용할 알고리즘, 적용 어플리케이션의 특성에 맞게 선정해야 한다. 강화학습 환경을 구축하기 위해 여러 자료들, 정보들을 검색해보고 있지만 생각보다 custom 환경 구축에 대한 자료들은 부족하다... 내용도 어렵거니와... spases 클래스 MultiDiscrete 함수 함수는 이산 환경을 생성할 수 있으며 아래와 같이 각 사이즈, 벡터별 제한 값을 지정할 수 있다. 아래 코드는 테스트를 위한 10개의 샘플 환경을 추출하는 코드이다. md = spaces.MultiDiscrete([3,4]) print(md[0]) for i in range(10): print(md.sample()) 코드를 실행하면 환경 상태 값 임의로 10개를 생성하며 M..
-
python 멀티프로세싱 pool process 에 대한 정리python source code 2023. 6. 20. 22:13
multiprocessing.pool.Pool 클래스는 Python에서 프로세스 풀을 제공한다. multiprocessing.Pool을 통해 프로세스 풀 클래스에 액세스할 수 있다. 작업을 프로세스 풀에 함수로 제출하여 동시에 실행할 수 있다. 작업을 제출할 수 있는 작업자 프로세스 풀을 제어하는 프로세스 풀 개체입니다. 시간 초과 및 콜백을 사용하여 비동기 결과를 지원하고 병렬 맵 구현이 있다. 또 다른 특징으로는 작업의 시작과 종료에 대해 지정해줄 필요가 없다는 것이 있다. 한편, 프로세스를 사용하는 방식은 두 가지가 있다. 1. 타겟 함수를 실행 2. 클래스확장 및 오버라이드 run() 전자는 multiprocessing.Process 클래스의 인스턴스 생성, target을 통한 함수 지정, s..
-
Streamlit 모듈을 활용한 웹 페이지 디자인 (사이트)python source code 2023. 6. 9. 20:59
pip install streamlit 1. pycharm 환경에서 개발을 하였는데 초반에 문제가 조금 발생하여 몇 가지 방법을 통해 해결했다. 많은 분들이 생각하듯이 코드를 작성하고 위의 디버깅 버튼으로 실행을 하면 되는줄 알았으나 streamlit 모듈은 터미널 명령으로 실행이 가능하다. streamlit run main.py 위 명령어를 터미널에서 실행하면 된다. 2. 아래와 같이 pycharm 하단의 terminal 탭에서 명령어 실행이 가능하다. 참고로 터미널 명령에서 pip 명령어를 통해 streamlit 설치시 간혹 기본 설정값이 powershell로 설정되어있는지 확인이 필요하다. 아래 이미지처럼 shell path 를 cmd로 설정 후, 프로그램을 재시작 해야 한다. (재시작을 해야 한다..
-
openAI gym API 관련 예제python source code 2023. 5. 29. 18:52
openAI에서는 여러가지 개발환경에 대한 리소스를 제공하고 있다. 특히 AI 분석환경 시뮬레이션 소스코드도 제공하기 때문에 이에 대한 활용도 가능하다. https://robotics.farama.org/ https://robotics.farama.org/envs/fetch/pick_and_place/ Gymnasium-Robotics Documentation Gymnasium-Robotics is a collection of robotics simulation environments for Reinforcement Learning robotics.farama.org 위 링크는 로봇에 대한 시뮬레이션 환경 제공 링크이다. import gymnasium as gym env = gym.make("FetchP..
-
google colab 환경에서 No available video device 에러 해결python source code 2023. 5. 27. 08:41
구글 코랩에서 강화학습 등의 시뮬레이션이 필요한 코드를 실행 시 아래와 같은 No available video device 에러가 발생한다. /usr/local/lib/python3.10/dist-packages/gym/envs/registration.py:593: UserWarning: WARN: The environment CartPole-v0 is out of date. You should consider upgrading to version `v1`. logger.warn( /usr/local/lib/python3.10/dist-packages/gym/core.py:317: DeprecationWarning: WARN: Initializing wrapper in old step API which ..
-
파이썬을 활용한 강화학습python source code 2023. 5. 24. 23:12
강화학습에서는 좋은 의사결정을 하면 보상을 생성하여 그 행동을 더욱 유발시키도록 하는 방식으로 구동된다. 특정 환경에서 높은 리워드를 향하는 방향으로 알고리즘이 동작하기에 이를 반복할 수록 경험이 쌓이고 시행착오를 통해 학습된다. Markov decision process (MDP)는 수학적인 프레임워크로써 의사결정을 모델링한다. 여기서 Dynamic programming (DP)이란 용어가 나오는데 이것은 수학적 최적화 방식이며 컴퓨터 프로그래밍 방법을 의미한다. DP는 복잡한 문제 해결을 위해 사용되고 하위 subset들을 해결하는 방식(문제를 해결하기 위한 정보를 발견하는 동안 진행된다.) Multiclass Queuing Networks (MQNs) : 대기행렬이론 이 네트워크는 실제 세계의 상황..
-
파이썬 언어의 특징, 산업계에 응용될 수 있는 파이썬 skillspython source code 2023. 5. 23. 20:45
시작에 앞서 그 역사에 대해 살펴보면 파이썬은 1991년 Guido Van Rossum에 의해 개발되었고 많은 라이브러리를 제공한다. 또한, 언어의 확장성은 다양한 라이브러리를 지원할 뿐만아니라 객체지향의 설계로 인하여 2~10배 까지의 생산성을 높일 수 있었다. 하지만 휴대폰 어플리케이션에서의 적용에서는 단점이 있으며 처리속도가 느리다는 점 또한 취약한 부분으로 알려져있다. soft robots : 이 개념은 특정 작업을 수행하는 로봇을 의미하며 속도와 정확도가 요구되는 공정에 주로 사용된다. (스팸메일 분류 등) 산업용으로는 지도, 비지도, 강화학습에 의해 솔루션이 준비되고 있다. hard robots : 실제로 물리적인 법칙을 적용한 로봇을 의미한다. 이밖에 ROS 로봇 운영 시스템 표준을 제공하여..