Commit 5aec721a authored by yongshk's avatar yongshk
Browse files

Initial commit

parent e1b12478
Pipeline #631 canceled with stages
FROM image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10-py37-latest
COPY requirements.txt requirements.txt
RUN source /opt/dtk-22.10/env.sh
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ENV LANG C.UTF-8
RUN pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# Pix2pixHD
## 模型介绍
Pix2pixHD是一种图像到图像的转换模型,它可以将输入图像转换成一种特定的输出图像。这种模型的应用非常广泛,例如将草图转换成真实的图片、将低分辨率图片转换成高分辨率图片、将黑白图像转换成彩色图像等等。
# PIX2PIXHD
## 论文
` High-Resolution Image Synthesis and Semantic `
- https://arxiv.org/pdf/1711.11585.pdf
## 模型结构
模型整体的结构是conditional GAN。 模型与Pix2pix相比更换了coarse-to-fine的生成器、multi-scale的判别器。
![](D:\git上传前\pix2pixhd_pytorch\doc\Pix2PixHD-GAN-model-for-paired-image-to-image-translation.png)
## 算法原理
pix2pixHD的算法原理是基于条件生成对抗网络(Conditional Generative Adversarial Nets)。它是一个由两个部分组成的网络:生成器和判别器。生成器用于从训练数据中合成图像,而判别器则负责判断生成的图像是否真实。
![](D:\git上传前\pix2pixhd_pytorch\doc\pix2pixHD原理.png)
## 环境配置
### Docker(方法一)
此处提供[光源](https://www.sourcefind.cn/#/service-details)拉取docker镜像
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10-py37-latest
docker run -it --network=host --name=bert_prof --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=32G --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10-py37-latest
```
### Dockerfile(方法二)
dockerfile使用方法
```
docker build --no-cache -t pix2pixhd:latest .
docker run -dit --network=host --name=pix2pixhd --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=16G --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 pix2pixhd:latest
docker exec -it pix2pixhd /bin/bash
pip install -r requirements.txt
```
### Anaconda(方法三)
关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.hpccube.com/tool/)开发者社区下载安装。
```
DTK驱动:dtk22.10
python:python3.7
apex==0.1+gitdb7007a.dtk2210
torch==1.10.0a0+git2040069.dtk2210
```
`Tips:以上dtk驱动、python等DCU相关工具版本需要严格一一对应`
其它非深度学习库参照requirements.txt安装:
```
pip install -r requirements.txt
```
## 数据集
模型使用数据为cityscapes
<https://www.cityscapes-dataset.com/>
`模型使用数据为cityscapes`
- <https://www.cityscapes-dataset.com/>
项目中已提供用于试验训练的迷你数据集,训练数据目录结构如下,用于正常训练的完整数据集请按此目录结构进行制备:
```
── dataset
────── cityscapes
│   ├── train_label
│    ├── xxx.png
│    ├── xxx.png
│ └── ...
│   └── train_inst
│    ├── xxx.png
│    ├── xxx.png
│ └── ...
│   └── train_img
│    ├── xxx.png
│    ├── xxx.png
│ └── ...
│   └── test_label
│    ├── xxx.png
│    ├── xxx.png
│ └── ...
│   └── test_inst
│    ├── xxx.png
│    ├── xxx.png
│ └── ...
```
## 训练及推理
### 环境配置
python依赖安装:
torch==1.10.0a0+git2040069.dtk2210
torchvision==0.11.0+cu102
### 训练
训练命令:
以 1024 x 512 分辨率训练模型 ( `bash ./scripts/train_512p.sh`):
## 训练
### 单机单卡
以 1024 x 512 分辨率训练模型
```
#!./scripts/train_512p.sh
python train.py --name label2city_512p
```
### 单机多卡
### 测试
测试命令:
```
#!./scripts/train_512p.sh
python train.py --name label2city_512p --batchSize 4 --gpu_ids 0,1,2,3
```
测试模型(`bash ./scripts/test_1024p.sh`):
## 推理
#!./scripts/test_1024p.sh
python test.py --name label2city_1024p \
python test.py --name label2city_512p \
--netG local \
--ngf 32 \
--resize_or_crop none \
## result
测试图
![](D:\git上传前\pix2pixhd_pytorch\doc\face1_1.jpg)
### 精度
测试数据:<https://www.cityscapes-dataset.com/>,使用的加速卡:Z100L。
根据测试结果情况填写表格:
| pix2pixHD | G_GAN | G_GAN_Feat | G_VGG | D_fake | D_real |
| :--------: | :---: | ---------- | ----- | ------ | :----: |
| cityscapes | 0.540 | 6.153 | 3.087 | 0.534 | 0.424 |
## 应用场景
### 算法类别
`图像超分`
### 热点应用行业
`设计`
## 源码仓库及问题反馈
* [https://github.com/NVIDIA/pix2pixHD](https://github.com/NVIDIA/pix2pixHD)
## 参考
## 参考资料
* [https://github.com/NVIDIA/pix2pixHD](https://github.com/NVIDIA/pix2pixHD)
# 模型唯一标识
modelCode = 168
# 模型名称
modelName=pix2pixHD_pytorch
# 模型描述
modelDescription=Pix2pixHD是一种图像到图像的转换模型,它可以将输入图像转换成一种特定的输出图像。这种模型的应用非常广泛,例如将草图转换成真实的图片、将低分辨率图片转换成高分辨率图片、将黑白图像转换成彩色图像等等。
# 应用场景
appScenario=推理,训练,图像超分,设计
# 框架类型
frameType=pytorch
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment