TransGAN代码复现—九天毕昇平台

简介: TransGAN是UT-Austin、加州大学、 IBM研究院的华人博士生构建了一个只使用纯 transformer 架构、完全没有卷积的 GAN,并将其命名为 TransGAN。论文地址:https://arxiv.org/abs/2102.07074论文精读:论文精读 TransGAN代码地址:https://github.com/VITA-Group/TransGAN本篇博文是利用中国移动的九天毕昇平台复现TransGAN的博文。

@TOC

TransGAN是UT-Austin、加州大学、 IBM研究院的华人博士生构建了一个只使用纯 transformer 架构、完全没有卷积的 GAN,并将其命名为 TransGAN。

论文地址:https://arxiv.org/abs/2102.07074

论文精读:论文精读 TransGAN

代码地址:https://github.com/VITA-Group/TransGAN

本篇博文是利用中国移动的九天毕昇平台复现TransGAN的博文。

一、九天毕昇操作简介

首先介绍一下深度学习服务平台:“九天·毕昇”是中国移动开发的一款云服务平台,能够提供高效(最高显存32GB的V100)便捷(主要优点还是免费O(∩_∩)O)的算力。

点击链接注册即可免费赢取 1000 个算力豆(50 小时 V100 使用时长: https://jiutian.10086.cn/web#/register?token=NTIxNWNkOWEtNjIxZi00ZTIyLThlZTItNDhiYWQ3ODRiMDhm

1.1、进入控制台

进入首页后,点击进入控制台:

在这里插入图片描述

在这里插入图片描述

进入后可以看到存储空间,算力豆(九天毕昇算时的计算单位)和自己建立过的实例。

1.2、新建自己的实例

在这里插入图片描述

点击左侧导航栏,进入模型训练,点击新建实例

在这里插入图片描述

命名自己的实例名称,然后选择数据集(平台提供了一些数据集,选用平台数据集会自动加载在data/public文件夹中,但是平台只有

部分数据集,没有的数据集需要自己在数据管理或者在运行实例时进行上传)选择资源套餐。

1.3、进入实例

进入实例后,我们可以看到,和colab比较类似,左侧是文件资源部分,右侧可以进行编辑,

在这里插入图片描述

我们点击左上角的蓝色加号,新建一个notebook或者console或者最下面的terminal(看个人喜好),如果点击的是pytorch1.x,则平台就自动为了加载了最基础的pytorch环境。

在这里插入图片描述

二、复现TransGAN

2.1、下载git代码

首先进入终端terminal,克隆代码:

git clone https://github.com/VITA-Group/TransGAN

在这里插入图片描述

成功克隆后,项目代码如下:

在这里插入图片描述

2.2、配置环境

进入TransGAN:cd TransGAN,

然后根据requirement.txt下载安装环境:

pip install -r requirements.txt

可能会出现的问题:

ERROR: conda 4.11.0 requires ruamel_yaml_conda>=0.11.14, which is not installed.

ERROR: tensorflow 2.4.0 has requirement absl-py~=0.10, but you'll have absl-py 1.0.0 which is incompatible.

ERROR: tensorflow 2.4.0 has requirement flatbuffers~=1.12.0, but you'll have flatbuffers 2.0 which is incompatible.

ERROR: tensorflow 2.4.0 has requirement gast==0.3.3, but you'll have gast 0.5.3 which is incompatible.

ERROR: tensorflow 2.4.0 has requirement grpcio~=1.32.0, but you'll have grpcio 1.45.0 which is incompatible.

ERROR: tensorflow 2.4.0 has requirement h5py~=2.10.0, but you'll have h5py 3.6.0 which is incompatible.

ERROR: tensorflow 2.4.0 has requirement numpy~=1.19.2, but you'll have numpy 1.21.5 which is incompatible.

ERROR: tensorflow 2.4.0 has requirement six~=1.15.0, but you'll have six 1.16.0 which is incompatible.

ERROR: tensorflow 2.4.0 has requirement typing-extensions~=3.7.4, but you'll have typing-extensions 4.1.1 which is incompatible.

解决方案:这个的意思是tensorflow 2.4版本和一些其他环境的版本不能匹配。

需要重新安装TensorFlow:

pip install tensorflow

2.3、开始训练

在TransGAN目录下,输入:

python exps/cifar_train.py

开始训练:

在这里插入图片描述

训练的时间比较长,可能需要2天或者更久,我们也可以下载已经训练好的checkpoint进行测试(请看2.4)。

2.4、开始测试

如果2.3没有训练或者完,下载 cifar checkpoint并将其放到文件夹中:

在这里插入图片描述

最后输入测试命令,开始测试:

python exp/cifar_test.py

可能遇见的问题:

ModuleNotFoundError: No module named 'tensorflow._api'

解决方案1:

参考网上推测要在命令行装tensorflow-gpu,在命令行输入:

pip install --upgrade --ignore-installed tensorflow-gpu

解决方案2:

TensorFlow未安装成功,重新pip安装

福利

点赞、评论+收藏三连,可以私信我领取专属算力豆!(活动截止2022年6月29日)

在这里插入图片描述

相关文章
|
算法 数据处理 C++
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
1673 1
|
2月前
|
人工智能 物联网 测试技术
Qwen-Image-Edit:全能图像编辑,驱动内容创作提质增效
通义千问团队开源Qwen-Image-Edit,基于20B模型,支持语义与外观双重编辑、精准中英文文字修改,具备SOTA图像编辑能力,可用于IP创作、风格迁移、文字修复等。
1674 6
|
11月前
|
数据可视化 关系型数据库 MySQL
嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化
通过本文的介绍,我们详细讲解了如何结合嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议,实现数据的采集、传输、存储和可视化。这种架构在物联网项目中非常常见,可以有效地处理和展示实时数据。希望本文能帮助您更好地理解和应用这些技术,构建高效、可靠的数据处理和可视化系统。
674 82
|
6月前
|
机器学习/深度学习 存储 人工智能
一文讲清楚:RAG与微调的区别以及企业选择方向——AI百科
在人工智能领域,大语言模型(LLM)推动了技术革新,而微调与检索增强生成(RAG)成为两大主流技术路径。微调通过训练模型内化专业知识,适用于知识稳定、术语密集的场景;RAG则通过外部知识库增强模型输入,适合知识更新快、需实时性的任务。两者各具优势,也存在融合趋势。随着AI向通用智能体演进,结合微调的专业深度与RAG的知识广度,已成为企业构建智能系统的新范式。理解二者差异,是实现AI工程化与专业赋能的关键。
889 0
|
8月前
|
网络协议 安全 网络安全
NAT网络地址转换
NAT(网络地址转换)是一种关键的网络技术,通过将内部私有地址转换为外部公网地址,实现多设备共享单一公网IP上网。它不仅解决了IPv4地址不足的问题,还增强了网络安全,隐藏了内部网络结构。NAT主要分为静态NAT、动态NAT和NAPT(网络地址端口转换)三种类型,广泛应用于家庭和企业网络中。然而,NAT也存在对某些应用不友好、增加延迟及与IPv6不兼容等缺点。
1147 14
|
机器学习/深度学习 自然语言处理 计算机视觉
【YOLOv8改进 - Backbone主干】VanillaNet:极简的神经网络,利用VanillaNet替换YOLOV8主干
【YOLOv8改进 - Backbone主干】VanillaNet:极简的神经网络,利用VanillaNet替换YOLOV8主干
|
人工智能 物联网 PyTorch
ChatTTSPlus:开源文本转语音工具,支持语音克隆,是 ChatTTS 的扩展版本
ChatTTSPlus 是一个开源的文本转语音工具,是 ChatTTS 的扩展版本,支持语音克隆、TensorRT 加速和移动模型部署等功能,极大地提升了语音合成的性能和灵活性。
1048 5
ChatTTSPlus:开源文本转语音工具,支持语音克隆,是 ChatTTS 的扩展版本
|
机器学习/深度学习 自然语言处理 计算机视觉
【YOLOv8改进 - Backbone主干】VanillaNet:极简的神经网络,利用VanillaBlock降低YOLOV8参数
【YOLOv8改进 - Backbone主干】VanillaNet:极简的神经网络,利用VanillaBlock降低YOLOV8参数
|
SQL 存储 监控
MySQL 内置的监控工具介绍及使用篇(一)
MySQL 内置的监控工具介绍及使用篇
2998 0
|
关系型数据库 MySQL 数据库
数据库读写分离后的数据同步方式
【6月更文挑战第5天】该文介绍了应对大并发请求的数据库解决方案,主要涉及MySQL的主从同步和读写分离。根据业务对数据一致性和延迟的容忍度选择合适模式,读写分离则能进一步优化数据库负载。
659 3
数据库读写分离后的数据同步方式