๐Ÿ’ป My Work/๐Ÿง  AI

[MiniHack] ํ™˜๊ฒฝ ์„ธํŒ…

Jaeseo Kim 2023. 1. 4. 21:22

์•„๋ž˜ MiniHack docs๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

Installation — MiniHack documentation

© Copyright 2021, MiniHack Team @ Facebook AI Research, UCL, and Oxford. Revision e4d1f8bc.

minihack.readthedocs.io

 

00. โ›๏ธ MiniHack

MiniHack์€ ๊ฐ•ํ™”ํ•™์Šต ํ™˜๊ฒฝ์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

NetHack ๊ฒŒ์ž„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” NetHack ํ•™์Šต ํ™˜๊ฒฝ(NLE) ์„ ์‚ฌ์šฉํ•ด์„œ, NetHack ๊ฒŒ์ž„์— ๋งž์ถฐ์ง„ ๊ฐ•ํ™”ํ•™์Šต ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

 

01. ์„ค์น˜

1. ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ƒ์„ฑ ํ›„, ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. (์•„๋ž˜ ๊ธ€ ์ฐธ๊ณ )

 

 

[Linux] ์•„๋‚˜์ฝ˜๋‹ค ์„ค์น˜ ๋ฐฉ๋ฒ•, ๊ธฐ์ดˆ ์‚ฌ์šฉ๋ฒ•

๐Ÿ“ ์•„๋‚˜์ฝ˜๋‹ค(Anaconda)๋Š” ํŒŒ์ด์ฌ์„ ํฌํ•จํ•œ numpy, scipy, sklearn ๋“ฑ ๋จธ์‹ ๋Ÿฌ๋‹์ด๋‚˜ ๋ฐ์ดํ„ฐ ๊ณผํ•™์— ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๊ฐ€ ํฌํ•จ ๋˜์–ด์žˆ๋Š” ํŒŒ์ด์ฌ ๋ฐฐํฌํŒ์ž…๋‹ˆ๋‹ค. pip๊ณผ ๋‹ค๋ฅด๊ฒŒ install ํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€๊ฐ€

avoc-o-d.tistory.com

$ conda create -n minihack python=3.8
$ conda activate minihack

 

2. minihack ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋ฐ›์Šต๋‹ˆ๋‹ค.

$ pip install minihack

 

3. minihack ํ™•์žฅ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋ฐ›๊ณ  ์‹ถ๋‹ค๋ฉด, ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

$ git clone https://github.com/facebookresearch/minihack
$ cd minihack
$ pip install -e ".[dev]"
$ pre-commit install

 

 

02. ์‹คํ–‰ํ•˜๊ธฐ

๐Ÿ“ MiniHack์€ ์—์ด์ „ํŠธ์™€ ํ™˜๊ฒฝ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” Gym ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

minihack ํ™˜๊ฒฝ์€, python ํŒŒ์ผ์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด์ค๋‹ˆ๋‹ค.

import gym
import minihack
env = gym.make("MiniHack-River-v0")
env.reset() # each reset generates a new environment instance
env.step(1)  # move agent '@' north
env.render()

 

์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค.

python ์‹คํ–‰ํ• ํŒŒ์ผ์ด๋ฆ„

์‹คํ–‰ ๊ฒฐ๊ณผ

 

ํ‚ค๋ณด๋“œ๋กœ MiniHack ํ™˜๊ฒฝ ์žฌ์ƒํ•˜์—ฌ ํ”Œ๋ ˆ์ดํ•˜๊ธฐ

  • ์ง์ ‘ ํ‚ค๋ณด๋“œ๋กœ ํ”Œ๋ ˆ์ดํ•˜๊ธฐ
# Play the MiniHack in the Terminal as a human
$ python -m minihack.scripts.play --env MiniHack-River-v0
  • ์ž๋™์œผ๋กœ ํ”Œ๋ ˆ์ด
# Use a random agent
$ python -m minihack.scripts.play --env MiniHack-River-v0  --mode random
  • GUI ํ™”๋ฉด์œผ๋กœ ํ”Œ๋ ˆ์ด
# Play the MiniHack with graphical user interface (gui)
$ python -m minihack.scripts.play_gui --env MiniHack-River-v0

 

โ–ถ๏ธ GUI ํ™”๋ฉด์œผ๋กœ ํ”Œ๋ ˆ์ด๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ์„ ์‹œ (์•„๋ž˜ ๊ธ€ ์ฐธ๊ณ )

AttributeError: 'FigureCanvasAgg' object has no attribute 'set_window_title'
 

[Study] MiniHack - setting

๋ณธ ํฌ์ŠคํŒ…์€ ์•„๋ž˜ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ๋‹ค. https://minihack.readthedocs.io/en/latest/getting-started/installation.html#extending-minihack Installation — MiniHack documentation © Copyright 2021, MiniHack Team @ Facebook AI Researc

bbicoduck.tistory.com