분명히 git status 로 이상한 파일이 올라가지 않는다는 것을 확인했는데도, ipynb output image 크기가 너무 커서 push 가 거절당했다. 

그러면, 일단 그 파일을 고치고 다시 commit을 한다. 그 상태로 다시 push하면 역시나 cache 에 이전 commit이 남아있기 때문에 또 거절을 당한다.

그러면 일단 기존 text editor는 nano이기 때문에 익숙한 vim으로 바꾸고 rebase를 진행해본다.

rebase 화면에는 두개의 commit이 나오는데, 둘중에 하나만 squash를 해야한다. 그런데 squash가 어떤건지 잘 모르니 실험적으로 첫번째 commit을 squash하고 두번째를 pick 했다. 그랬더니 첫번째 commit의 모든 정보가 날아감..^^ 침착하게 git rebase abort를 한다.

다시 rebase를 시도하고 이번엔 두번째 commit을 squash 하였다. 그랬더니 해피엔딩 ㅎㅎ

'Ubuntu and setups' 카테고리의 다른 글

tensorflow 1을 써야할때  (0) 2022.10.20
RLLab Setup & Miniconda setup  (0) 2022.10.20
ubuntu vim setup, git rebase 관련  (0) 2022.02.22
ubuntu disk usage by user  (0) 2021.08.11
ubuntu user 만들기  (0) 2021.07.31

1. tiny-cuda-nn 설치. (필수는 아니지만, 건너뛰려니까 쿠다관련 에러가 많이 떠서 겸사겸사 옵션들을 다 설치해보았다..)
    - gcc version, cmake version 을 올려야했다. 
   - 일단 cmake version 올리기. 밑의 블로그 참고했고, https://cmake.org/files/v3.21/ 여기서 tar.gz 파일 받아서 압축해제하고, 

./bootstrap --prefix=/usr/local
make
sudo make install

https://eehoeskrap.tistory.com/397

 

[CMake] Ubuntu에 CMake 설치하기

1. apt 를 이용한 설치 (구버전이 설치됨) $ sudo apt install cmake 2. 직접 최신버전 설치 2.1 홈페이지에서 다운로드 https://cmake.org/download Download | CMake Current development distribution Each night binaries are created as

eehoeskrap.tistory.com

진행하면 된다. 중간에 openssl이 설치되어있지 않다는 오류가 떠서, openssl 설치하고 다시 bootstrap 했더니 순조롭게 진행중.

sudo apt-get install libssl-dev

-- gcc 도 업그레이드 했다. 밑의 사이트를 참고하면, 여러 버전의 gcc를 설치해놓고 우선순위를 정해놓으면 같이 쓸수 있나보다!

https://nautiluslee.blogspot.com/2019/11/ubuntu-1804-gcc.html

근데 cuda version이 11.7 이상이어야 가능한 것이었다.. 70이상이라길래 뭔말인가.. 무시했더니 11.7 이상이란 뜻이었음.. ㅎ 

그런데 nvcc -V 랑 nvidia-smi 버전에 다 11.7 이어도 에러가 났다. 그건 nvidia-cuda-toolkit 을 apt-get 으로도 깔면 run 파일로 설치한 것이랑 공존하게 되는데, apt-get 이 예전버전으로 설치가 되므로 (10.1?) 그것을 nvcc 가 감지해서 그걸 우선순위로 사용하기 때문이었다. 아무튼 그래서 밑의 issue 에서 언급하듯 그걸 삭제한 후, bashrc 에 있는 LD_LIBRARY_PATH, PATH를 제대로 설정했는지 체크하고, build 폴더를 삭제하고 다시 build 하면 멀쩡하게 작동한다.

https://github.com/NVlabs/instant-ngp/issues/747

https://github.com/NVlabs/instant-ngp/issues/1044

그렇게 설치를 마치고서, pytorch 버전의 tcnn을 설치한다.

pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

2. 다시 torch-ngp 로 돌아와서, 그다음 extension 들을 설치한다.

https://github.com/ashawkey/torch-ngp

 

먼저, 쿠다 11.6 또는 11.7 등이 깔려있어야한다. 

그 이유는, 까먹었다. 그런데 colmap 설치할 때 ceres-solver를 설치해야하는데, 그 버전을 맞추려면 그래야 됐던것 같다.

colmap 설치할 때 일단 official document의 install 을 따르면 안된다.. issue 에서 찾아서 사람들이 공유하는걸 보고 적당히 맞춰야 함..

나중에 설치를 다시 완료하면 보충하러 오겠음..

'Experiments' 카테고리의 다른 글

instant-nerf 설치하기  (0) 2023.02.19
git commit 할때 파일 빼기  (0) 2022.03.01
mujoco 150 설치하기. Ubuntu 18.04에서.  (0) 2022.01.19
고통의 3D spacemouse UR5와 연결하기.  (0) 2022.01.04
Latex 자주 쓰는 모음 정리  (2) 2021.12.18
import tensorflow.compat.v1 as tf

tf.disable_v2_behavior()

 

'Ubuntu and setups' 카테고리의 다른 글

git rebase 최종정리  (0) 2023.04.19
RLLab Setup & Miniconda setup  (0) 2022.10.20
ubuntu vim setup, git rebase 관련  (0) 2022.02.22
ubuntu disk usage by user  (0) 2021.08.11
ubuntu user 만들기  (0) 2021.07.31

1. Install Miniconda in silent mode

https://docs.anaconda.com/anaconda/install/silent-mode/

 

conda cheat sheet:

https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf

https://interrupt.memfault.com/blog/conda-developer-environments

 

 2. edit bashrc

vim ~/.bashrc
export PATH=~/miniconda/bin:$PATH
source ~/.bashrc

 

 3. rllab 환경 세팅

conda init bash

터미널 한번 껐다가 킨다.

conda create -n rllab3 python=3.5.2 --channel conda-forge

 

4. 나머지는 sh 파일 만들어서 설치한다.

conda install -y -c anaconda numpy==1.12.1 scipy path.py python-dateutil mako ipywidgets flask h5py pandas scikit-learn
conda install -y -c numba numba
conda install -y -c cogsci pygame
conda install -y -c kne pybox2d
conda install -y -c menpo opencv3=3.1.0
conda install -y pytorch==1.0.0 torchvision==0.2.1 cuda100 -c pytorch
conda install -y mkl-service

<전제: cuda 10.x가 깔려있다>

 5. pip package 설치 전 확인

which python && python --version
echo $PATH

which pip 해서 /home/hskim/miniconda/envs/rllab3/bin/pip 나오면 다행. 아니면 specify 해줘서 pip package 설치하자. 안전하게 specify 도 괜찮고.

 

6. pip package 설치

(requirements.txt) 순서에 따라 깔렸던게 지워질 수도 있다. 그럴경우 추가로 깔아주기.

Pillow
atari-py
ipdb
boto3
PyOpenGL
nose2
pyzmq
tqdm
msgpack-python
line_profiler
redis
pyglet
prettytensor
jupyter
progressbar2
nibabel==2.1.0
pylru==1.0.9
hyperopt
mujoco-py==0.5.7
pip install -r https://raw.githubusercontent.com/Lasagne/Lasagne/master/requirements.txt
https://github.com/Lasagne/Lasagne/archive/master.zip
plotly
tensorflow-gpu==1.15
gym==0.7.4
matplotlib
mpi4py
Cython==0.22
chainer
cloudpickle
keras==1.2.1
polling
joblib==0.10.3
numpy-stl==2.2.0
cached_property
pyprind
imageio

 

<중간에 chainer 버전 때문에 nvcc 안되면 안된다길래 nvidia-cuda-toolkit 까는거 시도했다가 broken pipe 오류때문에 실패 -> 딱히 필수 아니래서 그냥 냅둠>

sudo apt-get autoremove
sudo apt-get --purge remove
sudo apt-get autoclean
sudo apt-get clean

이렇게 청소한거 같긴한데 잘 모르겠음.

https://askubuntu.com/questions/30993/fixing-software-center-catalog/183625#183625

 

LD_LIBRARY_PATH: /home/hskim/catkin_ws/devel/lib:/opt/ros/kinetic/lib:/opt/ros/kinetic/lib/x86_64-linux-gnu:/usr/local/cuda/lib64:/usr/lib/x86_64-linux-gnu

  

 7. aws를 쓸거면

awscli 도 깔자. 안쓰면 aws 관련 config 없애고 stub 도 없애도 되는듯. mode=mujoco-ec2 이것도 없애면 된다.

 

8. conda 환경 밖의 python package 안쓰는 법

참조: https://stackoverflow.com/questions/17386880/does-anaconda-create-a-separate-pythonpath-variable-for-each-new-environment

unset PYTHONPATH
conda activate (env_name)

 

9. python path 설정

참조: https://www.devdungeon.com/content/python-import-syspath-and-pythonpath-tutorial

export PYTHONPATH='/some/extra/path'
python -c "import sys; print(sys.path)"

 

Example output

['', '/some/extra/path', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']

 

Tried writing PYTHONPATH at .bashrc but highly error-

 

10. tf.compat.v1 으로 바꿔줘야한다는 것들 다 바꿔주기.

imitation_from_observation/rllab/sampler/base.py:116: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.
imitation_from_observation/nets/inception_utils.py:54: The name tf.GraphKeys is deprecated. Please use tf.compat.v1.GraphKeys instead.
imitation_from_observation/nets/inception_v3.py:475: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.
imitation_from_observation/gym/envs/mujoco/arm_shaping.py:25: The name tf.get_variable is deprecated. Please use tf.compat.v1.get_variable instead.
imitation_from_observation/rllab/sampler/base.py:139: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.
imitation_from_observation/rllab/sampler/base.py:141: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.
imitation_from_observation/rllab/sampler/base.py:144: The name tf.train.Saver is deprecated. Please use tf.compat.v1.train.Saver instead.

 11. user 변경

su cylee

<cuda ld library를 어떻게 연결할까> /usr/...?/cuda/bin whatever

By using ln operation, rename ld library link

https://linuxize.com/post/how-to-create-symbolic-links-in-linux-using-the-ln-command/

 12. tmux 연결

https://m.blog.naver.com/kimmingul/221339305735

13. Jupyter lab python path setting

14. Install VLC player to watch expert mp4 files

 

 15. LD library path (cuda 10.0) 바꿔주기

libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory;
2020-10-08 17:40:03.166569: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory;
'libcusolver.so.10.0';
'libcusparse.so.10.0';

'Ubuntu and setups' 카테고리의 다른 글

git rebase 최종정리  (0) 2023.04.19
tensorflow 1을 써야할때  (0) 2022.10.20
ubuntu vim setup, git rebase 관련  (0) 2022.02.22
ubuntu disk usage by user  (0) 2021.08.11
ubuntu user 만들기  (0) 2021.07.31

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

이걸 확인하는 과정이 있지만, 대부분의 경우 이걸 만족한다고 볼 수 있다. 하지만 짚고 넘어가고 싶다면 확인해보자.

lspci | grep -i nvidia
uname -m && cat /etc/*release

위의 코드로 nvidia 가능한 GPU인지, OS는 맞는지를 확인한다. 대부분 맞을 것이다.

gcc --version

그다음 gcc가 설치되어있는지 확인한다. 보통 한번 밀었다가 다시 깔면 gcc가 없다. 없는 경우 밑의 코드를 활용하여 설치하자.

sudo apt install gcc

nvidia cuda toolkit 다운로드해서 설치하기.

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=18.04&target_type=deb_network

이거를 참고하면 두개 드라이버?의 차이를 좀더 알 수 있지 않을까.. 희망해본다.

이쯤하고 nvidia-smi 를 하면 정보가 뜬다. 만약 안뜨면 reboot하면 된다.

nvidia-smi

그러고서 /usr/local에 cuda가 잘 설치되어 있다면, vim ~/.bashrc 한 후 파일에 밑의 두 줄을 붙여넣고서 저장하고,
(i 를 누르면 insert 가능, shift+ctrl+v로 붙여넣기, esc 누른 후 :wq 누르면 저장)
source ~/.bashrc로 효력발행?을 한다.

vim ~/.bashrc
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
source ~/.bashrc

그러면 nvcc -V로 쿠다가 잘 설치된걸 확인할 수 있다.

nvcc -V

보통 cuda 버전 다른것이 필요할 때, toolkit만 설치하면 된다.

 

기존에 실수로든 git에 올린 파일들은 후에 .gitignore에 추가하더라도 계속 change가 commit 때 반영되는 경우가 생긴다.  

그 행동을 영구적으로 억제하려면 그 파일을 삭제 후 commit해서 원격 저장소에서부터 없애야 하겠지만, 현재 실험이 돌아가고 있어서 내부부터 뜯어고치는 것이 어려운 경우 추천하는 방법.

git checkout -- <file>

사실 git status 하면 바로 추천으로 뜨는 명령어이긴한데, 그동안 무시했다가 git한테 호되게 혼난 후 설명을 꼼꼼히 읽어보게 되었다! 

 

sudo update-alternatives --config editor

해서 /usr/bin/vim.basic 을 선택하면 vim을 우분투 기본 text editor로 설정할 수 있다.

# Git rebase

git rebase -i HEAD~2

2개 이전의 commit을 볼 수 있다. vim으로 셋업해놨으면 고치기 쉬운데, i 눌러서 원하는 명령어로 고친 후에 :wq로 저장하면 된다. 보통 squash, drop, edit 등으로 고치면 된다.

# Git push하려고 했는데 large file error가 났을 때,

1. git rebase로 이전 commit을 drop 한다.
2. cached file을 지운다.

git rm --cached <file_name>

3. 이전 commit을 고친다.

git commit --amend -CHEAD

4. git push를 한다. --> 왜 git add +git commit을 안해도 되는지는 알 수 없지만,, 그것은 이번 경우에만 적용되는 것일수도..!

참조:

https://brtech.tistory.com/96

 

linux 기본 에디터 vim 설정하는 두가지 방법

우분투 설치하고 나서 기본으로 설정되는 에디터가 보통 vim tiny 이다. 다양한 편집옵션이나 색 옵션이 지원이 되지 않아 설정 파일을 편집하는데 어려움이 있다. 특히 svn 을 사용하는 환경에서 s

brtech.tistory.com

https://velog.io/@taelee/%EA%B3%BC%EA%B1%B0-%EC%BB%A4%EB%B0%8B-%EB%B0%94%EA%BE%B8%EA%B8%B0git-rebase-interactive

 

과거 커밋 바꾸기(git amend, rebase)

먼저 바꿀 파일이 있다면 모두 add한다.git commit --amend을 터미널에 입력하면 vim창이 뜨면서 커밋 내용이 뜨는데 거기에서 커밋 로그를 수정해서 ESC(입력모드에서 나오기)를 누르고 -> :wq(저장후 종

velog.io

https://stackoverflow.com/questions/19573031/cant-push-to-github-because-of-large-file-which-i-already-deleted

'Ubuntu and setups' 카테고리의 다른 글

tensorflow 1을 써야할때  (0) 2022.10.20
RLLab Setup & Miniconda setup  (0) 2022.10.20
ubuntu disk usage by user  (0) 2021.08.11
ubuntu user 만들기  (0) 2021.07.31
git config temporal username  (0) 2021.07.14

1. zip파일 다운로드

https://roboti.us/download.html

 

Download

This page contains legacy MuJoCo releases from Roboti LLC (versions 2.0 and earlier) followed by the list of changes. These versions require an activation key. A free license with unlocked activation key is available at the License page. New releases from

roboti.us

2. mjkey.txt 다운로드

https://roboti.us/license.html

 

License

Free license DeepMind has granted Roboti LLC license to provide an unlocked activation key for legacy versions of MuJoCo (2.0 and earlier). This key is available to everyone on the terms of the free license below. It expires on October 18, 2031. Activation

roboti.us

3. /home/user 에서 .mujoco 폴더를 만들고, mjkey.txt랑 mjpro150 폴더를 넣는다.

/home/user/.mujoco/mjkey.txt 랑 /home/user/.mujoco/mjpro150 이 되도록!

4. /home/user/.bashrc 파일에 export LD_LIBRARY=/home/user/.mujoco/mjpro150/bin 을 쓰고 저장해서 나온 후
source ~/.bashrc 라고 친다.

5. 위 두개 줄까지는 거의 필수로 필요하고, swig는 설치 안된경우를 처음보긴 했다. 이 외에도 에러가 발생한다면,, 구글 신이 도와주실 듯..

sudo apt-get install libosmesa6-dev
sudo apt install -y patchelf
sudo apt-get install swig

6. 이제와서 왜 mjpro150을 설치하는가? openai gym이 뜬금없이 mujoco support를 150으로 내렸기 때문.. 에러가 있다나 뭐라나.. 

'Experiments' 카테고리의 다른 글

nerf-supervision github 설치하기  (0) 2022.12.28
git commit 할때 파일 빼기  (0) 2022.03.01
고통의 3D spacemouse UR5와 연결하기.  (0) 2022.01.04
Latex 자주 쓰는 모음 정리  (2) 2021.12.18
learning rate 결정하기  (0) 2021.08.11

<진행중>

1. 3D space mouse 드라이버를 깐다. (맥은 잘 깔리는데, 리눅스는 안 깔린다.) https://3dconnexion.com/kr/drivers/ 맥은 Big Sur 버전이 따로 있으니 자신의 맥을 확인하자. 리눅스는 드라이버가 제대로 작동 안하니까, spacenav (http://spacenav.sourceforge.net/)라는 다른 드라이버를 깐다.

여기서 spacenav에 3가지 종류가 있는데, 일단 spacenavd 가 기본이다. - 사실 제대로 설치가 된건지 아닌건지 확인할 길이 없다.. 하지만 일단 진행하자.

2. UR5와 3D spacemouse를 연결하는 것에는 여러가지가 있는데, RLkit (robosuite) https://github.com/rail-berkeley/rlkit/tree/master/rlkit/demos/spacemouse 에도 있고, MoveIt! https://ros-planning.github.io/moveit_tutorials/doc/realtime_servo/realtime_servo_tutorial.html 에도 있다. 


3. 먼저 RL kit부터 설명하자면, 현재 mac에서만 구동 가능하다고 쓰여있긴 하다. 근데 linux에서 왜 안되는지는 알 수 없다. 이게 RL kit, robosuite에 구현되어 있는 코드가 hidapi (https://github.com/libusb/hidapi)를 쓰는데, hidapi를 파이썬에서 쓸 때 제대로 돌아가는 것은 Mac (pip install hidapi) 에서 밖에 없는듯 하다. Linux에서는 sudo apt install을 하라고 되어있는데, 뭔가 파이썬이랑 연결하는 부분을 일단 못찾겠고,, hidapi를 linux에서 깔아도 제대로 인식이 안되는 것 같달까.. (맥에서는 3D mouse, 3D mouse device, 3D keyboard 이렇게 세 부분으로 나뉘어서 인식되고, device나 keyboard를 인식시키면 되는것 같은데, 리눅스에서는 3D mouse만 인식되고 그마저도 연결은 안된다 - 이부분은 맥과 동일.)  윈도우 에서도 시도해보려했는데, 윈도우 비밀번호를 까먹음.. 하하

 

맥이 zsh가 기본이어서 bash로 바꾸는게 속편하고, M1 mac이어서, mujoco는 2.1.1부터 가능한 것 같다. - 근데 gcc 버전 관련해서,, 약간 오류가 있는데, 아무튼 메인 git에서 제안하는 대로 LLVM을 깔아서 세팅을 해주면 어느정도 설치는 되는데(https://github.com/openai/mujoco-py/issues/662 )

import 할 때 build가 안된다. 뭔가 library confidence 오류 같은데. 근데 rlkit가 제대로 maintain이 안되는지 코드가 python 3.5 기반이고, multiworld 라는걸 추가로 깔아야하는데 그것도 conda environment로 깔아야하는데 mujoco 2.1.1을 써야하는 상태에선 dependency를 맞출 수가.. 엄두가 안난다. -- 그래서 rlkit보단 maintain 잘되는 robosuite로 가는게 속편한데, 흠.. to be continued..?!

 

4. MoveIt!을 깔기 위해서는 먼저 ROS를 깔아야한다. (Ubuntu 18.04이므로 Ros melodic을 깔았다!) 
그다음 catkin을 설치한다. 그후 MoveIt을 설치하는데, ** 꼭 source에서 설치해야 spacemouse 관련 코드가 설치된다. https://moveit.ros.org/install/source/** 그다음 catkin workspace에서 앞으로의 작업이 진행되는데, 
catkin workspace에 moveit tutorial 등을 다운받고 build를 진행한다. 

 

그 후부터는 계속 다운받고, build하고, 실행하는 것의 연속인데, roslaunch를 할 때는 한 터미널에서 계속 작업이 돌아가므로 tmux를 이용해서 터미널을 나누는 것이 보기 편하다.  

 

Gazebo 시뮬레이터를 돌릴 때는 꼭 RViz가 같이 돌아가야하는 것 같은데.. 아무튼 얘네를 켰다가 끌 때 꼭 잘 꺼야 나중에 다시 킬 때 에러가 나는 것을 방지할 수 있다. 아 그리고 joystick control teleoperation 탭에서의 추가사항을 세팅해줘야 돌아가는 것 같다. https://ros-planning.github.io/moveit_tutorials/doc/joystick_control_teleoperation/joystick_control_teleoperation_tutorial.html#getting-started

 

Joystick Control Teleoperation — moveit_tutorials Noetic documentation

Version: Moveit 2 - Foxy MoveIt 1 - Noetic MoveIt 1 - Melodic

ros-planning.github.io

이렇게 하면 시뮬레이터 내에서는 3D spacemouse를 사용할 수 있는데, 실제 UR5 로봇에서 돌리기 위해서는 ROS controller를 또 추가설치 해줘야한다. (이마짚..) https://github.com/UniversalRobots/Universal_Robots_ROS_Driver 

 

GitHub - UniversalRobots/Universal_Robots_ROS_Driver: Universal Robots ROS driver supporting CB3 and e-Series

Universal Robots ROS driver supporting CB3 and e-Series - GitHub - UniversalRobots/Universal_Robots_ROS_Driver: Universal Robots ROS driver supporting CB3 and e-Series

github.com

5. 먼저 robot preparation 파트에서 externalcontrol-1.0.5.urcap을 다운받아서 로봇에 설치해줘야한다. <진행중>

 

6. 사실 속편하게 돈으로 해결하는게 빠르다. "sales@radalytica.com" 로 메일을 보내서 돈을 줄테니 가르쳐달라고 하자. 

https://www.radalytica.com/ 여기서 UR5랑 마우스를 연결해놓은걸 확인할 수 있다. 

'Experiments' 카테고리의 다른 글

git commit 할때 파일 빼기  (0) 2022.03.01
mujoco 150 설치하기. Ubuntu 18.04에서.  (0) 2022.01.19
Latex 자주 쓰는 모음 정리  (2) 2021.12.18
learning rate 결정하기  (0) 2021.08.11
data loader 속도 높이기  (0) 2021.08.09

1. 위첨자 ^ , 아래첨자 _

http://www.dfcd.net/articles/latex/latex.html 참조!

2. Figure 넣기

\begin{figure}
\includegraphics[width=1.0\linewidth]{figs/framework_o_rev.png}
  \caption{Walawala}
  \label{fig:comp-algo}
\end{figure}

 

 

3. Algorithm 넣기

\begin{algorithm*}
\setstretch{1.2}
\caption{Heyyy}\label{alg:detect}
\begin{algorithmic}
\Require $ I^k, [o_{x1}, o_{y1}, o_{x2}, o_{y2}]_N^k, [o]_N^k $
\Ensure $I^k $ \Comment{Get image}

\State $ I^k = ROI( RPN(I^k))$
\State $ \hat{I}^k, \hat{A}^k, = VMM_{Boxhead}(I^k)$
\State \textbf{Function}\{$VMC_{Boxpred}$\}
     \State \quad \quad$ [\hat{a}]_M^k  = HandAction(\hat{A}^k)$
    
\State \textbf{EndFunction}
 \State  $y = Concat(y, x) $
 \State $ [\hat{o}]_N^k = Concat([\hat{o}]_M^k, [\hat{a}]_M^k)$

\end{algorithmic}
\end{algorithm*}

가장 밖 algorithm에 붙는 *를 빼면 2 column paper일 때 한 쪽 column에만 들어감.

 

4. Equation 넣기

\begin{gather}

\{I_t\}^{T}_{t=1} = [\{I_t^1\}^{1e}_{1s},  \{I_t^K\}^{Ke}_{Ks}] \\
\{a_t\}^{T}_{t=1} = [a^1,  ..., a^k, ..., a^K] \\
\{o_t\}^{T}_{t=1} = [o^1,  ..., o^k, ..., o^K] 

\end{gather}

여러 줄 넣을 때가 gather, 한줄만 넣을 때는 equation.

\begin{equation} \label{eq:vmm}
\{\hat{I}^k\}_{m}, \hat{A}^k, \hat{a}^k = VMM(\{I^k\}_{m})
\end{equation}

 

'Experiments' 카테고리의 다른 글

mujoco 150 설치하기. Ubuntu 18.04에서.  (0) 2022.01.19
고통의 3D spacemouse UR5와 연결하기.  (0) 2022.01.04
learning rate 결정하기  (0) 2021.08.11
data loader 속도 높이기  (0) 2021.08.09
image encoder batch normalization  (0) 2021.08.01

간단하고 짧으며 크게 다양하지는 않은 task는 작은 set의 데모를 offline learning하는 것이 가능하지만, 

엄청 다양하면서 긴 시간동안 많은 데이터를 요구하는 task는 fixed batch of data로 학습하는 것이 힘들다.

그래서 짧은 시퀀스를 따라하는 goal-conditioned low-level controller와 low-level을 위한 goal을 고르면서 적당히 suboptimal solution을 조각조각 조합하는 high-level goal selection을 구성하였다. 

# Experiments

1. Graph Reach - a pedagogical example

매 에피소드마다 고정된 start, goal location이 있고 거기서 2D navigation을 하는 태스크다.

5x5 grid 이고 중심 path에서 벗어날 때마다 길게길게 돌아오도록 하였다. 그래서 imitation을 할 때 특정 파트만 골라서 해야 optimal performance를 할 수 있다. 평균 3844 timestep을 가지는 250개 demonstration을 이용하였다. 

2. Robosuite Lift - suboptimal demonstrations from a human

Sawyer robot arm이 테이블 위의 큐브를 잡고 들어올리는 태스크이다. roboturk를 이용하여 수집하였고, 성공하는 demo 외에도 헛손질 하는 경우들을 많이 수집하였다. 평균 622 timestep의 137개 demo를 수집하였다.

3. RoboTurk Can Pick and place - Crowdsourced Demonstrations

1100개 demo 중 빠른 순으로 225개를 골라 사용하였다. 여러 사람이 참여하여 모았기에 optimality, diversity가 여러종류이고 평균 589 timestep이 걸린다. 캔을 쓰러뜨린 후 줍는 사람도 있고, 로봇 팔을 캔 위로 하여 위에서 집는 사람도 있었다. 

 

IRIS, no Goal VAE는 VAE 대신 deterministic goal prediction network가 사용된 경우고, IRIS no Q는 goal selection을 그냥 Goal VAE sampling으로 한 경우이다. 

+ Recent posts