Mambavision installation

Ref: https://github.com/NVlabs/MambaVision/issues/86 - Docker image: pytorch/pytorch:2.5.1-cuda12.4-cudnn9-devel - pip install causal-conv1d==1.5.0.post5 - wget https://github.com/state-spaces/mamba/releases/download/v2.2.3.post2/mamba_ssm-2.2.3.post2+cu12torch2.5cxx11abiFALSE-cp311-cp311-linux_x86_64.whl - pip install mamba_ssm-2.2.3.post2+cu12torch2.5cxx11abiFALSE-cp311-cp311-linux_x86_64.whl - git clone https://github.com/NVlabs/MambaVision.git - cd MambaVision - Replace setup.py #40 line: mamba-ssm==2.2.4" with "mamba-ssm" - pip install -e .

Ubuntu cli - check mac address & change network config

1-1) ip -br link show up 1-2) ifconfig 1-3) nmcli con show 2-1) sudo nmcli con mod "Wired connection X" ipv4.addresses 000.000.000.000/YY     X: Check nmcli con show     Y: Subnet mask         8: 255.0.0.0 (large networks)         16: 255.255.0.0 (medium networks)         24: 255.255.255.0 (home or small networks)         30: 255.255.255.252 (point-to-point links) 2-2) sudo nmcli con mod "Wired connection X" ipv4.gateway 000.000.0.0 2-3) sudo nmcli con mod "Wired connection X" ipv4.dns "0.0.0.0 0.0.0.0" 2-4) sudo nmcli con mod "Wired connection X" ipv4.method manual 2-5) sudo nmcli con mod "Wired connection X" ipv4.dhcp-client-id "" 2-6) sudo nmcli con down "Wired connection X" && sudo nmcli con up "Wired connection X" 3-1) sudo nano /etc/netplan/01-network-manager-all.yaml network:   version: 2   renderer: networkd   ethernet...

deformable detr make + pytorch docker -> cusolverDn.h: No such file or directory

 export PATH=/usr/local/cuda-11.6/bin/:$PATH

sklearn tsne + matplotlib scatter

import os import torch import clip import matplotlib . pyplot as plt from PIL import Image from sklearn . manifold import TSNE from tqdm import tqdm from collections import defaultdict from random import shuffle   X = torch . cat ( X , dim = 0 ) X_emb = TSNE ( init = "pca" , perplexity = 30.0 ). fit_transform ( X . cpu ()) labels = [ "source" , "z_star/foggy-1" , "z_star/foggy-2" , "z_star/foggy-3" , "z_bar/foggy-1" , "z_bar/foggy-2" , "z_bar/foggy-3" ] fig , ax = plt . subplots ( 1 ) group_len = len ( zs ) for i in range ( 7 ): ax . scatter ( X_emb [ i * group_len :( i + 1 )* group_len , 0 ], X_emb [ i * group_len :( i + 1 )* group_len , 1 ], label = labels [ i ], s = 4 ) ax . legend () fig .savefig( "temp.png" )

load bert pretrained weight to detr encoder

# Example python script of loading BERT-base model to DETR # Create DETR import argparse from models import build_model from util.default_args import get_args_parser parser = argparse.ArgumentParser(parents=[get_args_parser()]) args = parser.parse_known_args()[0] args.model = "detr" args.hidden_dim = 768 args.dim_feedforward = 3072 args.lr = 1e-4 args.lr_backbone = 1e-5 args.num_queries = 100 args.enc_layers = 12 args.nheads = 12 model, criterion, postprocessors = build_model(args) # Load BERT import torch bert = torch.hub.load('huggingface/pytorch-transformers', 'model', 'bert-base-uncased') bert_enc = bert.encoder.state_dict() # Convert keys dict_bert2detr = {} for i in range(args.enc_layers):     key = "layers.{}.self_attn.in_proj_weight".format(i)     dict_bert2detr[key] = torch.cat([bert_enc["layer.{}.attention.self.query.weight".format(i)], [bert_enc["layer.{}.attention.self.key.weight".format(i)], [bert_enc["la...

matplotlib.pyplot non-interative backend

 export MPLBACKEND=agg

VS Code 실행 파일 기준으로 경로 설정하기

 "cwd": "${fileDirname}"

Download multiple file from google drive via gdown

 1. At the Google drive page, open console and type: $$("[data-id]").map((el) => 'https://drive.google.com/uc?id=' + el.getAttribute('data-id')).join(" ") 2. Copy links 3. Open python import os links = COPIED_STRING links = list(map(lambda x: x.split("id=")[-1], links.split(" "))) for link in links:     os.system("gdown {}".format(link)) ref: https://olegkhomenko.medium.com/how-to-download-multiple-files-from-google-drive-using-terminal-7f0f2ee357b8

docker run 인자 확인하기

 docker inspect   --format "$(curl -s https://gist.githubusercontent.com/efrecon/8ce9c75d518b6eb863f667442d7bc679/raw/run.tpl)"   [container name]

docker + matplotlib // cv2 추가 install

  도커 밖에서 xhost +local:'docker inspect --format='{{.Config.Hostname}}' bdba249440d4' 도커 생성 시 --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" -e NVIDIA_DRIVER_CAPABILITIES=graphics,utility,compute apt install python3-tk opencv: apt install libgl1-mesa-glx libglib2.0-0 -y

jetson xavier nx developer kit + docker container + torch_tensorrt

# CLI Demo on Jetson Xavier NX --- ### Install boot image - Note: Follow these instructions on your host machine. - Download boot image     - You can use either way:         - Using wget:             - `wget https://developer.nvidia.com/jetson-nx-developer-kit-sd-card-image`             - `mv jetson-nx-developer-kit-sd-card-image JP502-xnx-sd-card-image-b231.zip`     - The name of the image we used is `JP502-xnx-sd-card-image-b231.zip` - Follow https://developer.nvidia.com/embedded/learn/get-started-jetson-xavier-nx-devkit#write to write the image. Below instructions are based on this site.     - You can write an image using Etcher (a graphical program) or via command line.     - Using Etcher:         - Download Etcher:             - Visit https://www.balena.io/etcher to download an .AppImage file (Ubuntu)    ...

docker 실행 후 random 시간이 흐르고 나면 "Failed to initialize NVML: Unknown Error"가 나는 현상

 Possible fix list https://github.com/NVIDIA/nvidia-docker/issues/1671 https://gist.github.com/gengwg/55b3eb2bc22bcbd484fccbc0978484fc https://bbs.archlinux.org/viewtopic.php?id=266915 https://github.com/NVIDIA/nvidia-docker/issues/1447 1) 문제 재구현: 아래 solution으로 해결 가능한 문제인지 진단     - docker container 재시작 후 nvidia-smi 정상 동작 확인     - 호스트 측 터미널에 "systemctl daemon-reload" 입력후 container 안에서 nvidia-smi error 발생 확인 2) 해결 방법: docker run 인자 수정     - /dev/ 하위에 nvidia가 붙은 모든 instance들을 인자에 포함시켜 전달     - 예시: docker run -it --name detr --gpus all -v /home/work/Desktop/:/data --shm-size 128G -p 11022:22 -p 11006:6006 --device /dev/nvidia0:/dev/nvidia0 --device /dev/nvidia1:/dev/nvidia1 --device /dev/nvidia2:/dev/nvidia2 --device /dev/nvidia3:/dev/nvidia3 --device /dev/nvidia4:/dev/nvidia4 --device /dev/nvidia5:/dev/nvidia5 --device /dev/nvidia6:/dev/nvidia6 --device /dev/nvidia7:/dev/nvidia7 --device /dev/nvidia-caps/ --device /dev/nvidiactl --device /dev/nv...

tar 분할 압축 및 해제

 tar cvf some_files.tar some_files split -b 1000M some_files.tar "some_files.tar.part" cat some_files.tar.parta* > some_files.tar ref: https://www.tecmint.com/split-large-tar-into-multiple-files-of-certain-size/

ubuntu gui backend 설정

서버 이용시 gui 불가 ->  export MPLBACKEND=Agg

Disable Nouveau and install nvidia driver via runfile

 ref:  https://linuxconfig.org/how-to-disable-blacklist-nouveau-nvidia-driver-on-ubuntu-20-04-focal-fossa-linux https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-20-04-focal-fossa-linux sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf" cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf sudo update-initramfs -u sudo reboot sudo apt install build-essential libglvnd-dev pkg-config sudo telinit 3 CTRL + ALT + F1 sudo telinit 5 sudo apt install gcc-12 sudo ln -s -f /usr/bin/gcc-12 /usr/bin/gcc sudo bash NVIDIA-Linux-x86_64-440.44.run sudo reboot

docker cli 한글

apt-get install locales export LANGUAGE=ko_KR.UTF- 8 export LANG=ko_KR.UTF- 8 source ~/.bashrc locale-gen ko_KR ko_KR.UTF-8 update-locale LANG=ko_KR.UTF-8 dpkg-reconfigure locales ref:  https://proni.tistory.com/entry/%F0%9F%90%B3-Docker-%ED%95%9C%EA%B8%80-%EC%84%A4%EC%A0%95-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0

cp with progress / verify

  rsync -ah --progress source-file destination-file **주의: dest를 폴더명으로 지정하지 않도록 하기 ref:  https://askubuntu.com/questions/17275/how-to-show-the-transfer-progress-and-speed-when-copying-files-with-cp verfication: diff -rq --no-dereference /path/to/old/drive/ /path/to/new/drive/ ref: https://unix.stackexchange.com/questions/313089/verifying-a-large-directory-after-copy-from-one-hard-drive-to-another To remote server: rsync -avz -e ssh SOURCE USERNAME@IPADDRESS:TARGET

최근 docker container에서 apt update를 할때 나는 nvidia gpg key error 해결

rm /etc/apt/sources.list.d/cuda.list rm /etc/apt/sources.list.d/nvidia-ml.list apt-key del 7fa2af80 apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub ref: https://github.com/NVIDIA/nvidia-docker/issues/1631

nvidia-smi에는 잡히지 않는 process가 gpu 메모리를 차지하고 있을 때

 sudo fuser -v /dev/nvidia0  sudo fuser -v /dev/nvidia1 ... 식으로 pid 확인 후 kill 출처: https://stackoverflow.com/questions/59431784/gpu-ram-occupied-but-no-pids

(링크) Ubuntu 최신 순서대로 설치된 프로그램 확인하기

 https://askubuntu.com/questions/17012/is-it-possible-to-get-a-list-of-most-recently-installed-packages