Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
VisualGLM-6B_pytorch
Commits
c08986b7
Commit
c08986b7
authored
Mar 02, 2024
by
dcuai
Browse files
Update README.md
parent
1222bb63
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
29 deletions
+13
-29
README.md
README.md
+13
-29
No files found.
README.md
View file @
c08986b7
# VisualGLM-6B
# VisualGLM-6B
##
模型
论文
## 论文
无
无
## 模型结构
## 模型结构
VisualGLM 模型架构是 ViT + QFormer + ChatGLM,在预训练阶段对 QFormer 和 ViT LoRA 进行训练,在微调阶段对 QFormer 和 ChatGLM LoRA 进行训练,训练目标是自回归损失(根据图像生成正确的文本)和对比损失(输入 ChatGLM 的视觉特征与对应文本的语义特征对齐)
VisualGLM 模型架构是 ViT + QFormer + ChatGLM,在预训练阶段对 QFormer 和 ViT LoRA 进行训练,在微调阶段对 QFormer 和 ChatGLM LoRA 进行训练,训练目标是自回归损失(根据图像生成正确的文本)和对比损失(输入 ChatGLM 的视觉特征与对应文本的语义特征对齐)
...
@@ -16,8 +16,6 @@ VisualGLM-6B 由 SwissArmyTransformer(简称sat) 库训练,这是一个支持T
...
@@ -16,8 +16,6 @@ VisualGLM-6B 由 SwissArmyTransformer(简称sat) 库训练,这是一个支持T
## 环境配置
## 环境配置
### Docker(方法一)
### Docker(方法一)
在光源可拉取推理的docker镜像,拉取方式如下:
```
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:visualglm-6b_pytorch-latest
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:visualglm-6b_pytorch-latest
docker run -it -v /path/your_data/:/path/your_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
docker run -it -v /path/your_data/:/path/your_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
...
@@ -30,43 +28,29 @@ docker build --no-cache -t xxx:latest .
...
@@ -30,43 +28,29 @@ docker build --no-cache -t xxx:latest .
docker run -it -v /path/your_data/:/path/your_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
docker run -it -v /path/your_data/:/path/your_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
```
```
## 推理
## 数据集
无
### 数据集
无
### 模型地址
### 模型
下载
地址
https://huggingface.co/THUDM/visualglm-6b/tree/main
https://huggingface.co/THUDM/visualglm-6b/tree/main
## 推理
### 代码推理
### 代码推理
进入容器后, 进行克隆
进入容器后, 进行克隆
```
```
git clone https://developer.hpccube.com/codes/modelzoo/visualglm6b_pytorch
git clone https://developer.hpccube.com/codes/modelzoo/visualglm6b_pytorch
cd visualglm6b_pytorch
cd visualglm6b_pytorch
```
```
执行推理命令
使用Huggingface transformers库调用模型,通过下面地址下载模型https://huggingface.co/THUDM/visualglm-6b/tree/main , 可以通过python test.py(其中修改图像路径image_path和模型路径THUDM/visulglm-6b 为本地路径)运行模型,test.py的代码如下:
```
from
transformers
import
AutoTokenizer
,
AutoModel
tokenizer
=
AutoTokenizer
.
from_pretrained
(
"THUDM/visualglm-6b"
,
trust_remote_code
=
True
)
model
=
AutoModel
.
from_pretrained
(
"THUDM/visualglm-6b"
,
trust_remote_code
=
True
).
half
().
cuda
()
image_path
=
"your image path"
response
,
history
=
model
.
chat
(
tokenizer
,
image_path
,
"描述这张图片。"
,
history
=[])
print
(
response
)
response
,
history
=
model
.
chat
(
tokenizer
,
image_path
,
"这张图片可能是在什么场所拍摄的?"
,
history
=
history
)
print
(
response
)
```
```
得到返回值
python test.py #修改相关图像路径image_path和模型路径THUDM/visulglm-6b
```
Specify both input_ids and inputs_embeds at the same time, will use inputs_embeds
这张照片中,一位女士坐在沙发上使用笔记本电脑和鼠标。她似乎正在浏览网页或工作。她的姿势表明她在放松、享受或专注于她的工作。背景中的瓶子可能暗示着饮料或其他日常用品的存在。椅子和沙发的布置也表明这是一个舒适的环境,适合休息或进行轻松的工作活动。
考虑到照片的背景和场景设置,可以推断出这个场景是一个舒适的环境中拍摄的照片,例如家庭住宅或休闲空间。这位女士坐在一张沙发上,周围有瓶子和其他物品,这表明这个地方可能有一些日常用品或装饰。这种布置可能会鼓励人们放松身心并享受他们的日常活动,比如观看电影、阅读书籍或者与亲朋好友聊天。
```
```
### 交互式命令行推理
### 交互式命令行推理
修改cli_demo_hf.py 中模型路径THUDM/visualglm-6b为本地模型路径
,模型本地下载地址为https://huggingface.co/THUDM/visualglm-6b/tree/main
修改cli_demo_hf.py 中模型路径THUDM/visualglm-6b为本地模型路径
```
```
python cli_demo_hf.py
python cli_demo_hf.py
```
```
...
@@ -74,9 +58,9 @@ python cli_demo_hf.py
...
@@ -74,9 +58,9 @@ python cli_demo_hf.py
### API部署推理
### API部署推理
首先需要安装额外的依赖 pip install fastapi uvicorn,然后运行仓库中的 api.py:
首先需要安装额外的依赖,然后运行仓库中的 api.py:
```
```
pip install fastapi uvicorn
python api.py
python api.py
```
```
程序会自动下载 sat 模型,默认部署在本地的 8080 端口,通过 POST 方法进行调用。下面是用curl请求的例子(修改path/to/example.jpg为本地路径),一般而言可以也可以使用代码方法进行POST。
程序会自动下载 sat 模型,默认部署在本地的 8080 端口,通过 POST 方法进行调用。下面是用curl请求的例子(修改path/to/example.jpg为本地路径),一般而言可以也可以使用代码方法进行POST。
...
@@ -92,7 +76,7 @@ curl -X POST -H "Content-Type: application/json" -d @temp.json http://127.0.0.1:
...
@@ -92,7 +76,7 @@ curl -X POST -H "Content-Type: application/json" -d @temp.json http://127.0.0.1:
{"result":"这张照片中,一个年轻女子坐在沙发上,手里拿着笔记本电脑。她可能正在工作或学习,或者只是放松和享受时间。","history":[["描述这张图片","这张照片中,一个年轻女子坐在沙发上,手里拿着笔记本电脑。她可能正在工作或学习,或者只是放松和享受时间。"]],"status":200,"time":"2024-01-22 11:16:35"}
{"result":"这张照片中,一个年轻女子坐在沙发上,手里拿着笔记本电脑。她可能正在工作或学习,或者只是放松和享受时间。","history":[["描述这张图片","这张照片中,一个年轻女子坐在沙发上,手里拿着笔记本电脑。她可能正在工作或学习,或者只是放松和享受时间。"]],"status":200,"time":"2024-01-22 11:16:35"}
```
```
##
#
result
## result
推理图片的不同,会出现不同结果,下面为一个result示例:
推理图片的不同,会出现不同结果,下面为一个result示例:
"这张照片中,一位女士坐在沙发上使用笔记本电脑和鼠标。似乎正在浏览网页或工作。她的姿势表明她在放松、享受或专注于她的工作。背景中的瓶子可能暗示着饮料或其他日常用品的存在。椅子和沙发的布置也表明这是一个舒适的环境,适合休息或进行轻松的工作活动。
"这张照片中,一位女士坐在沙发上使用笔记本电脑和鼠标。似乎正在浏览网页或工作。她的姿势表明她在放松、享受或专注于她的工作。背景中的瓶子可能暗示着饮料或其他日常用品的存在。椅子和沙发的布置也表明这是一个舒适的环境,适合休息或进行轻松的工作活动。
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment