반응형

Default 위치

${HOME}/.cache/huggingface

변경 방법

.py 코드 내 os env 변경

...
os.environ["HF_HOME"] = "/workspace/"
import torch
...

bashrc 반영

export HF_MOME=/workspace

반응형
반응형

llama-stack

llama3.2, llama3.1 등을 download 하려고 홈페이지에서 시도하였으나 llama-stack을 pip로 설치하라고 뜬다.
pip install llama-stack을 하였으나 설치에는 큰 문제가 없는 것 같은데 llama 명령어가 없어서 진행이 안된다.

원인

llama-stack github page에 찾아가보면 requirement.txt에 보면 llama-models 등 dependency packages가 보이는데 pip list로 확인을해봐도 설치가 되지 않았고, search를 해봐도 되지 않는다.
원인은 python3 버전에 원인이 있다. python version이 3.10이상이어야 하는데 python3.8로 시도하면 minimum python version 에 위배되는 패키지들은 설치가 되지 않는다.

해결방법

python3.10을 설치해서 python3.10을 설치하여 3.10으로 llama-stack을 설치해줄 경우 정상적으로 초반과는 다르게 많은 패키지들이 설치되고 llama명령어가 있는것이 확인된다.

참고

https://sonseungha.tistory.com/678

 

Ubuntu 20.04에 python 3.10 설치하기

Python 3.10은 Ubuntu의 기본 저장소에서 사용할 수 없습니다. 따라서 Python 3.10 설치를 위해 다른 저장소를 추가해야 합니다. deadsnake라는 이름의 launchpad 저장소에서는 Python 패키지에 사용할 수 있습

sonseungha.tistory.com

python3.10으로 재설치

$ apt install software-properties-common # 필요시
$ apt install python3.10-distutils
$ curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10
$ python3.10 -m pip install llama-stack
반응형
반응형

Env

Install nvidia docker env toolkit

Run

$ docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Execute

$ docker exec -it ollama ollama run llama3.1:8b

help

>>> /?

Exit

>>> /bye
or
ctrl + d

llama3.1 taglist

https://ollama.com/library/llama3.1/tags

 

Tags · llama3.1

Llama 3.1 is a new state-of-the-art model from Meta available in 8B, 70B and 405B parameter sizes.

ollama.com

 

반응형
반응형

시작전

docker-ce는 설치되어 있어야 함

gpg 키와 저장소 추가

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

apt package repository update

$ sudo apt update

nvidia-docker2 설치

$ sudo apt install nvidia-docker2

필요시 테스트

$ docker run --rm --gpus all ubuntu:18.04 nvidia-smi
반응형
반응형

docker-container-runtime의 설치가 되어 있는지 확인이 필요함

$ dpkg -l | grep docker-container-runtime

없을 경우 아래와 같이 패키지를 설치 가능한지 확인함

$ sudo apt search docker-container-runtime

설치 가능할 경우 설치

$ sudo apt install docker-container-runtime

docker restart

$ sudo systemctl restart docker
반응형
반응형

목적

ONNX Model의 검증이 필요할 때에 간략하게 테스트 하는 방법

Dependency package

Pillow가 없을 경우 pip 설치가 필요함

출력

해당 모델은 customized된 Resnet 모델로 Output이 10개 이하임.
그래서 수치의 결과물을 보기 위한 것으로, 모든 값을 한 행에 출력을 하게끔 작성함.
필요에 따라 적절한 수정이 필요함.

Python Code

import os
import onnxruntime as rt
from PIL import Image
import numpy as np

model_path = 'model path str'
image_dir = 'image path str'
width = 224
height = 224

sess = rt.InferenceSession(model_path)

for filename in os.listdir(image_dir):
    if filename.endswith('.jpg') or filename.endswith('.jpeg'):
        img = Image.open(os.path.join(image_dir, filename))

        img = img.resize((width, height))
        img = np.array(img).astype('float32')

        img = np.expand_dims(img, axis=0)
        img = np.transpose(img, (0, 3, 2, 1))

        input_name = sess.get_inputs()[0].name
        result = sess.run(None, {input_name: img})

        result = np.reshape(result, (-1))
        print("{}: {}".format(filename, ', '.join(np.array2string(r.flatten(), separator=', ', max_line_width=np.inf) for r in result)))
반응형
반응형

NVIDIA PCI Vendor ID 로 잡히는 것이 있는지 확인

# NVIDIA Vendor ID : 10de
$ lspci -nn -d 10de:*

lspci update

최신 GPU일 경우 pci id 업데이트가 안되어서 안나올 수 있음.

$ sudo update-pciids

lspci에 Vendor ID 로 잡히는 것이 없을 경우

lspci에서 Veodor ID로 잡히는게 없을 경우 PCI Express 에서 잡히는게 없을 경우, 해당 카드가 인식자체가 되지 않았을 가능성이 있음.

  • 소비 전력 확인 및 보조 전력 확인
    소비 전력이 300W이상인데 그 이하의 적절하지 않은 부족한 전력 연결시, 인식자체가 되지 않는 현상을 확인함.
    올바르게 연결(8 Pin * 2)한 이후 정상적으로 lspci에 리스팅 된 것을 확인할 수 있었음.
반응형
반응형

 

갑자기 잘 쓰던 서버에서 아래와 같은 오류가 발생한다.

Failed to initialize NVML: Driver/library version mismatch

그래서 지우고 다시 설치하려고 하니, 아래와 같은 오류가 발생한다.

E: Couldn't find any package by glob 'nvidia_docker_install.sh'
E: Unable to locate package nvidia_docker_install.sh
...

이유를 몰라서 패키지를 지울려고 해도, 찾지를 못하고 지우고 재 설치도 쉽지가 않다.
도저히 방법이 없어서 fix-broken 설치를 먼저 했는데 nvidia 패키지들을 다 재설치를 한다.

sudo apt --fix-broken install

뭔가 커널 버전이 자동 업데이트 되서 Driver가 커널 버전 매칭이 안되서 오류가 발생한거고 --fix-broken install이 맞는 버전으로 재 설치 한게 아닐까 생각이 됨...

반응형
반응형

Unknown runtime specified nvidia 오류

nvidia-driver를 재설치 하거나 처음 설치하고, docker를 runtime 옵션으로 nvidia 설정을 하는 경우 마주하는 경우가 있다.
이 오류는 아래와 같이 나타나기도 한다

docker: Error response from daemon: unknown or invalid runtime name: nvidia.

nvidia-docker2가 설치가 안되어 있을 가능성이 있으며, 설치되어 있지 않을 경우 설치해줄 경우 정상 동작하는 것이 확인된다.

nvidia-docker2 설치 확인

$ dpkg -l | grep nvidia-docker2

nvidia-docker2 설치

$ sudo apt install nvidia-docker2

nvidia gpg key와 저장소 추가

만약 nvidia-docker2를 못찾을 경우 저장소 추가

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

docker 재시작

$ sudo systemctl restart docker
반응형
반응형

 

https://github.com/ZhangGe6/onnx-modifier

 

GitHub - ZhangGe6/onnx-modifier: A tool to modify ONNX models in a visualization fashion, based on Netron and Flask.

A tool to modify ONNX models in a visualization fashion, based on Netron and Flask. - GitHub - ZhangGe6/onnx-modifier: A tool to modify ONNX models in a visualization fashion, based on Netron and F...

github.com

 

1. 설치

git clone git@github.com:ZhangGe6/onnx-modifier.git
cd onnx-modifier

pip install -r requirements.txt

2. 실행

python ./app.py

 

주의 사항

Web based며 실행 이후에는 Web Browser를 통해서 접근해야됨.
Default로 127.0.0.1:5000 을 사용하고 있으며, Loopback 주소이기 때문에, 해당 컴퓨터의 GUI를 사용해야 됨.

만약 서버에서 설치 후에 다른 컴퓨터에서 접근하고 싶을 경우 Eth에 할당된 다른 주소를 --host 옵션의 파라미터로 전달할 경우 접근 가능함

python3 ./app.py --host <<IP Address>> --port <<Port>>

혹은 해당 서버의 할당된 IP들에 대해서 사용하고 싶을 경우 0.0.0.0을 할당하면, 모든 Eth에 할당된 IP를 통해 서비스 가능함

python3 ./app.py --host 0.0.0.0 --port <<Port>>
반응형

+ Recent posts