中文|English
本样例为大家学习昇腾软件栈提供参考,非商业目的!
本README只提供命令行方式运行样例的指导,如需在Mindstudio下运行样例,请参考Mindstudio运行图片样例wiki。
功能:使用animeGAN模型对输入图片进行卡通化处理。
样例输入:原始图片jpg文件。
样例输出:卡通图象。
请检查以下条件要求是否满足,如不满足请按照备注进行相应处理。如果CANN版本升级,请同步检查第三方依赖是否需要重新安装(5.0.4及以上版本第三方依赖和5.0.4以下版本有差异,需要重新安装)。
| 条件 | 要求 | 备注 |
|---|---|---|
| CANN版本 | >=5.0.4 | 请参考CANN样例仓介绍中的安装步骤完成CANN安装,如果CANN低于要求版本请根据版本说明切换samples仓到对应CANN版本 |
| 硬件要求 | Atlas200DK/Atlas300(ai1s) | 当前已在Atlas200DK和Atlas300测试通过,产品说明请参考硬件平台 ,其他产品可能需要另做适配 |
| 第三方依赖 | opencv,python-acllite | 请参考第三方依赖安装指导(python样例)选择需要的依赖完成安装 |
-
获取源码包。
可以使用以下两种方式下载,请选择其中一种进行源码准备。
- 命令行方式下载(下载时间较长,但步骤简单)。
注:如果需要切换到其它tag版本,以v0.5.0为例,可执行以下命令。
# 开发环境,非root用户命令行中执行以下命令下载源码仓。 cd ${HOME} git clone https://github.com/Ascend/samples.gitgit checkout v0.5.0 - 压缩包方式下载(下载时间较短,但步骤稍微复杂)。
注:如果需要下载其它版本代码,请先请根据前置条件说明进行samples仓分支切换。# 1. samples仓右上角选择 【克隆/下载】 下拉框并选择 【下载ZIP】。 # 2. 将ZIP包上传到开发环境中的普通用户家目录中,【例如:${HOME}/ascend-samples-master.zip】。 # 3. 开发环境中,执行以下命令,解压zip包。 cd ${HOME} unzip ascend-samples-master.zip
- 命令行方式下载(下载时间较长,但步骤简单)。
-
获取此应用中所需要的原始网络模型。
模型名称 模型说明 模型下载路径 AnimeGAN 将普通照片转换为卡通风格的图片。 请参考https://github.com/Ascend/ModelZoo-TensorFlow/tree/master/TensorFlow/contrib/cv/AnimeGAN/README.MD 下载原始模型。 # 为了方便下载,在这里直接给出原始模型下载及模型转换命令,可以直接拷贝执行。也可以参照上表在modelzoo中下载并手工转换,以了解更多细节。 #这里为大家提供了三种shape的模型,下方提供转换命令 cd ${HOME}/samples/python/level2_simple_inference/6_other/animeGAN_picture/model #AnimeGAN_256_256.pb wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/animeGAN/AnimeGAN_256_256.pb wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/animeGAN/aipp_256_256.cfg atc --model="./AnimeGAN_256_256.pb" --output_type=FP32 --input_shape="test:1,256,256,3" --input_format=NHWC --output="AnimeGANv2_256" --soc_version=Ascend310 --framework=3 --precision_mode=allow_fp32_to_fp16 --insert_op_conf=aipp_256_256.cfg #AnimeGAN_512_512.pb wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/animeGAN/AnimeGAN_512_512.pb wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/animeGAN/aipp_512_512.cfg atc --model="./AnimeGAN_512_512.pb" --output_type=FP32 --input_shape="test:1,512,512,3" --input_format=NHWC --output="AnimeGANv2_512" --soc_version=Ascend310 --framework=3 --precision_mode=allow_fp32_to_fp16 --insert_op_conf=aipp_512_512.cfg #AnimeGAN_1024_1024.pb wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/animeGAN/AnimeGAN_1024_1024.pb wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/animeGAN/aipp_1024_1024.cfg atc --model="./AnimeGAN_1024_1024.pb" --output_type=FP32 --input_shape="test:1,1024,1024,3" --input_format=NHWC --output="AnimeGANv2_1024" --soc_version=Ascend310 --framework=3 --precision_mode=allow_fp32_to_fp16 --insert_op_conf=aipp_1024_1024.cfg -
获取样例需要的测试图片。
# 执行以下命令,进入样例的data文件夹中,下载对应的测试图片。 cd ${HOME}/samples/python/level2_simple_inference/6_other/animeGAN_picture/data wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/animeGAN/test_image/test.jpg
注:开发环境与运行环境合一部署,请跳过步骤1,直接执行步骤2即可。
-
执行以下命令,将开发环境的 animeGAN_picture 目录上传到运行环境中,例如 /home/HwHiAiUser,并以HwHiAiUser(运行用户)登录运行环境(Host)。
# 【xxx.xxx.xxx.xxx】为运行环境ip,200DK在USB连接时一般为192.168.1.2,300(ai1s)为对应的公网ip。 scp -r ${HOME}/samples/python/level2_simple_inference/6_other/animeGAN_picture HwHiAiUser@xxx.xxx.xxx.xxx:/home/HwHiAiUser ssh HwHiAiUser@xxx.xxx.xxx.xxx cd ${HOME}/animeGAN_picture/src -
#通过命令的第二个参数来控制使用不同shape的模型 python3.6 AnimeGAN.py ../data/ 256 python3.6 AnimeGAN.py ../data/ 512 python3.6 AnimeGAN.py ../data/ 1024
运行完成后,会在out目录下生成推理后的jpg图片
请参考常见问题定位对遇到的错误进行排查。如果wiki中不包含,请在samples仓提issue反馈。