浙江建设技术职业学院网站,湖南网络公司关于我们,深圳调查公司哪家好,北京到太原使用3080ti运行blip2的案例 本机环境#xff08;大家主要看GPU#xff0c;ubuntu版本和cuda版本即可#xff09;#xff1a;安装流程我最后安装的所有包的信息#xff08;python 3.9 #xff09;以供参考#xff08;environment.yml#xff09;#xff1a; 本机环境大家主要看GPUubuntu版本和cuda版本即可安装流程我最后安装的所有包的信息python 3.9 以供参考environment.yml 本机环境大家主要看GPUubuntu版本和cuda版本即可
注意我在运行blip2的demo的时候显存用了80G以上所以虽然这张卡能配好但为了显存需要多卡运行
配置参考blip2的官方github网址。
PyTorch 2.1.0
ubuntu 22.04
Python 3.10
Cuda 12.1
RTX 3080 Ti(12GB)
CPU 12 vCPU Intel(R) Xeon(R) Silver 4214R CPU 2.40GHz
内存 90GB安装流程
在该环境中运行如下代码开始安装
我发现当我使用python3.8(cuda11.3,cuda11.1)的时候运行不起来所以这里换成了cuda12.1和python3.9 。
conda create -n blip2 python3.9
conda init bash source /root/.bashrc
conda activate blip2之后开始安装lavis
pip install salesforce-lavis之后我发现环境还缺少了相关的opencv-python包所以又运行
pip install opencv-python好像网上也有帖子说要本地安装salesforce-lavis但是我不用本地安装就能运行了大家也可以参考一下他们的安装方法。
接下来就可以运行如下的代码进行测试实验了
import torch
from PIL import Image
import requests
from lavis.models import load_model_and_preprocess# setup device to use
device torch.device(cuda) if torch.cuda.is_available() else cpu
# load sample imageimg_url https://storage.googleapis.com/sfr-vision-language-research/LAVIS/assets/merlion.png
raw_image Image.open(requests.get(img_url, streamTrue).raw).convert(RGB)
raw_image.show() #使用PIL来展示图片,原来的display函数应该是colab里的
#display(raw_image.resize((596, 437)))model, vis_processors, _ load_model_and_preprocess(nameblip2_t5, model_typepretrain_flant5xxl, is_evalTrue, devicedevice
)#也可以用其他的模型
# Other available models:
#
# model, vis_processors, _ load_model_and_preprocess(
# nameblip2_opt, model_typepretrain_opt2.7b, is_evalTrue, devicedevice
# )
# model, vis_processors, _ load_model_and_preprocess(
# nameblip2_opt, model_typepretrain_opt6.7b, is_evalTrue, devicedevice
# )
# model, vis_processors, _ load_model_and_preprocess(
# nameblip2_opt, model_typecaption_coco_opt2.7b, is_evalTrue, devicedevice
# )
# model, vis_processors, _ load_model_and_preprocess(
# nameblip2_opt, model_typecaption_coco_opt6.7b, is_evalTrue, devicedevice
# )
#
# model, vis_processors, _ load_model_and_preprocess(
# nameblip2_t5, model_typepretrain_flant5xl, is_evalTrue, devicedevice
# )
#
# model, vis_processors, _ load_model_and_preprocess(
# nameblip2_t5, model_typecaption_coco_flant5xl, is_evalTrue, devicedevice
# )vis_processors.keys()但是运行这个代码会自动下载blip2t5文件然后我们直接连接huggingface网站又有一些问题下载速度非常慢下载不下来。
因为下载太慢了我们可以在Salesforce/blip2-flan-t5-xxl · Hugging Face Hugging Face上找到相关的文件并下载。
下载方法本地下载huggingface模型并在服务器上使用流程
如果不做任何改动本来默认的下载位置如下可以从huggingface上手动下载我们需要的模型之后上传到这个地址下 但是有时候这个默认路径是在系统盘里上传到这个系统盘里系统盘内存容量会不够。所以我们继续探索找一下如何放到别的盘里。
Huggingface 默认下载位置更改 添加一句export HF_HOME/root/autodl-tmp/huggingface 再 source ~/.bashrc 使配置生效。
因为觉得有点麻烦我直接把环境变量在下面的代码里改了 我在目录autodl-tmp下创建两个目录 /huggingface文件夹 /torch-model文件夹
import torch
from PIL import Image
import requests
from lavis.models import load_model_and_preprocess# setup device to use
device torch.device(cuda) if torch.cuda.is_available() else cpu
# load sample imageimg_url https://storage.googleapis.com/sfr-vision-language-research/LAVIS/assets/merlion.png
raw_image Image.open(requests.get(img_url, streamTrue).raw).convert(RGB)
raw_image.show() #使用PIL来展示图片,原来的display函数应该是colab里的
#display(raw_image.resize((596, 437)))import os
os.environ[TORCH_HOME]r/root/autodl-tmp/torch-model #更改pytorch断点的默认保存目录
os.environ[TRANSFORMERS_CACHE] r/root/autodl-tmp/huggingface #更改huggingface 的默认保存目录model, vis_processors, _ load_model_and_preprocess(nameblip2_t5, model_typepretrain_flant5xxl, is_evalTrue, devicedevice
)vis_processors.keys()# 引入环境变量之后成功解决这个问题。我最后安装的所有包的信息python 3.9 以供参考environment.yml
我的environment.yml文件内容
# This file may be used to create an environment using:
# $ conda create --name env --file this file
# platform: linux-64
_libgcc_mutex0.1main
_openmp_mutex5.11_gnu
altair5.4.1pypi_0
annotated-types0.7.0pypi_0
antlr4-python3-runtime4.9.3pypi_0
asttokens2.4.1pypi_0
attrs24.2.0pypi_0
bleach6.1.0pypi_0
blinker1.8.2pypi_0
blis1.0.1pypi_0
braceexpand0.1.7pypi_0
ca-certificates2024.9.24h06a4308_0
cachetools5.5.0pypi_0
catalogue2.0.10pypi_0
certifi2024.8.30pypi_0
cfgv3.4.0pypi_0
charset-normalizer3.4.0pypi_0
click8.1.7pypi_0
cloudpathlib0.19.0pypi_0
confection0.1.5pypi_0
contexttimer0.3.3pypi_0
contourpy1.3.0pypi_0
cycler0.12.1pypi_0
cymem2.0.8pypi_0
decorator5.1.1pypi_0
decord0.6.0pypi_0
distlib0.3.9pypi_0
einops0.8.0pypi_0
exceptiongroup1.2.2pypi_0
executing2.1.0pypi_0
fairscale0.4.4pypi_0
filelock3.16.1pypi_0
fonttools4.54.1pypi_0
fsspec2024.9.0pypi_0
ftfy6.3.0pypi_0
gitdb4.0.11pypi_0
gitpython3.1.43pypi_0
huggingface-hub0.25.2pypi_0
identify2.6.1pypi_0
idna3.10pypi_0
imageio2.35.1pypi_0
importlib-resources6.4.5pypi_0
iopath0.1.10pypi_0
ipython8.18.1pypi_0
jedi0.19.1pypi_0
jinja23.1.4pypi_0
jsonschema4.23.0pypi_0
jsonschema-specifications2024.10.1pypi_0
kaggle1.6.17pypi_0
kiwisolver1.4.7pypi_0
langcodes3.4.1pypi_0
language-data1.2.0pypi_0
lazy-loader0.4pypi_0
ld_impl_linux-642.40h12ee557_0
libffi3.4.4h6a678d5_1
libgcc-ng11.2.0h1234567_1
libgomp11.2.0h1234567_1
libstdcxx-ng11.2.0h1234567_1
marisa-trie1.2.0pypi_0
markdown-it-py3.0.0pypi_0
markupsafe3.0.1pypi_0
matplotlib3.9.2pypi_0
matplotlib-inline0.1.7pypi_0
mdurl0.1.2pypi_0
mpmath1.3.0pypi_0
murmurhash1.0.10pypi_0
narwhals1.9.2pypi_0
ncurses6.4h6a678d5_0
networkx3.2.1pypi_0
nodeenv1.9.1pypi_0
numpy2.0.2pypi_0
nvidia-cublas-cu1212.1.3.1pypi_0
nvidia-cuda-cupti-cu1212.1.105pypi_0
nvidia-cuda-nvrtc-cu1212.1.105pypi_0
nvidia-cuda-runtime-cu1212.1.105pypi_0
nvidia-cudnn-cu129.1.0.70pypi_0
nvidia-cufft-cu1211.0.2.54pypi_0
nvidia-curand-cu1210.3.2.106pypi_0
nvidia-cusolver-cu1211.4.5.107pypi_0
nvidia-cusparse-cu1212.1.0.106pypi_0
nvidia-nccl-cu122.20.5pypi_0
nvidia-nvjitlink-cu1212.6.77pypi_0
nvidia-nvtx-cu1212.1.105pypi_0
omegaconf2.3.0pypi_0
opencv-python4.10.0.84pypi_0
opencv-python-headless4.5.5.64pypi_0
opendatasets0.1.22pypi_0
openssl3.0.15h5eee18b_0
packaging24.1pypi_0
pandas2.2.3pypi_0
parso0.8.4pypi_0
pexpect4.9.0pypi_0
pillow10.4.0pypi_0
pip24.2py39h06a4308_0
platformdirs4.3.6pypi_0
plotly5.24.1pypi_0
portalocker2.10.1pypi_0
pre-commit4.0.1pypi_0
preshed3.0.9pypi_0
prompt-toolkit3.0.48pypi_0
protobuf5.28.2pypi_0
ptyprocess0.7.0pypi_0
pure-eval0.2.3pypi_0
pyarrow17.0.0pypi_0
pycocoevalcap1.2pypi_0
pycocotools2.0.8pypi_0
pydantic2.9.2pypi_0
pydantic-core2.23.4pypi_0
pydeck0.9.1pypi_0
pygments2.18.0pypi_0
pyparsing3.1.4pypi_0
python3.9.20he870216_1
python-dateutil2.9.0.post0pypi_0
python-magic0.4.27pypi_0
python-slugify8.0.4pypi_0
pytz2024.2pypi_0
pyyaml6.0.2pypi_0
readline8.2h5eee18b_0
referencing0.35.1pypi_0
regex2024.9.11pypi_0
requests2.32.3pypi_0
rich13.9.2pypi_0
rpds-py0.20.0pypi_0
salesforce-lavis1.0.2pypi_0
scikit-image0.24.0pypi_0
scipy1.13.1pypi_0
sentencepiece0.2.0pypi_0
setuptools75.1.0py39h06a4308_0
shellingham1.5.4pypi_0
six1.16.0pypi_0
smart-open7.0.5pypi_0
smmap5.0.1pypi_0
spacy3.8.2pypi_0
spacy-legacy3.0.12pypi_0
spacy-loggers1.0.5pypi_0
sqlite3.45.3h5eee18b_0
srsly2.4.8pypi_0
stack-data0.6.3pypi_0
streamlit1.39.0pypi_0
sympy1.13.3pypi_0
tenacity9.0.0pypi_0
text-unidecode1.3pypi_0
thinc8.3.2pypi_0
tifffile2024.8.30pypi_0
timm0.4.12pypi_0
tk8.6.14h39e8969_0
tokenizers0.13.3pypi_0
toml0.10.2pypi_0
torch2.4.1pypi_0
torchvision0.19.1pypi_0
tornado6.4.1pypi_0
tqdm4.66.5pypi_0
traitlets5.14.3pypi_0
transformers4.26.1pypi_0
triton3.0.0pypi_0
typer0.12.5pypi_0
typing-extensions4.12.2pypi_0
tzdata2024.2pypi_0
urllib32.2.3pypi_0
virtualenv20.26.6pypi_0
wasabi1.1.3pypi_0
watchdog5.0.3pypi_0
wcwidth0.2.13pypi_0
weasel0.4.1pypi_0
webdataset0.2.100pypi_0
webencodings0.5.1pypi_0
wheel0.44.0py39h06a4308_0
wrapt1.16.0pypi_0
xz5.4.6h5eee18b_1
zipp3.20.2pypi_0
zlib1.2.13h5eee18b_1