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日)

在这里插入图片描述

相关文章
|
机器学习/深度学习 算法 索引
LSTM(长短期记忆网络)原理介绍
LSTM算法是一种重要的目前使用最多的时间序列算法,是一种特殊的RNN(Recurrent Neural Network,循环神经网络),能够学习长期的依赖关系。主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。
8112 0
LSTM(长短期记忆网络)原理介绍
|
算法 数据处理 C++
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
【C++ 20 新特性 算法和迭代器库的扩展和泛化 Ranges】深入浅出C++ Ranges库 (Exploring the C++ Ranges Library)
1598 1
|
10月前
|
数据可视化 关系型数据库 MySQL
嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化
通过本文的介绍,我们详细讲解了如何结合嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议,实现数据的采集、传输、存储和可视化。这种架构在物联网项目中非常常见,可以有效地处理和展示实时数据。希望本文能帮助您更好地理解和应用这些技术,构建高效、可靠的数据处理和可视化系统。
555 82
|
7月前
|
网络协议 安全 网络安全
NAT网络地址转换
NAT(网络地址转换)是一种关键的网络技术,通过将内部私有地址转换为外部公网地址,实现多设备共享单一公网IP上网。它不仅解决了IPv4地址不足的问题,还增强了网络安全,隐藏了内部网络结构。NAT主要分为静态NAT、动态NAT和NAPT(网络地址端口转换)三种类型,广泛应用于家庭和企业网络中。然而,NAT也存在对某些应用不友好、增加延迟及与IPv6不兼容等缺点。
884 14
|
机器学习/深度学习 编解码 人工智能
论文精读 TransGAN:两个纯粹的Transformer可以组成一个强大的GAN(TransGAN:Two Pure Transformers Can Make One Strong GAN)
TransGAN是UT-Austin、加州大学、 IBM研究院的华人博士生构建了一个只使用纯 transformer 架构、完全没有卷积的 GAN,并将其命名为 TransGAN。该论文已被NeruIPS(Conference and Workshop on Neural Information Processing Systems,计算机人工智能领域A类会议)录用,文章发表于2021年12月。 该文章旨在仅使用Transformer网络设计GAN。Can we build a strong GAN completely free of convolutions? 论文地址:https://
论文精读 TransGAN:两个纯粹的Transformer可以组成一个强大的GAN(TransGAN:Two Pure Transformers Can Make One Strong GAN)
|
机器学习/深度学习 自然语言处理 计算机视觉
【YOLOv8改进 - Backbone主干】VanillaNet:极简的神经网络,利用VanillaNet替换YOLOV8主干
【YOLOv8改进 - Backbone主干】VanillaNet:极简的神经网络,利用VanillaNet替换YOLOV8主干
|
SQL 存储 监控
MySQL 内置的监控工具介绍及使用篇(一)
MySQL 内置的监控工具介绍及使用篇
2930 0
|
关系型数据库 MySQL 数据库
数据库读写分离后的数据同步方式
【6月更文挑战第5天】该文介绍了应对大并发请求的数据库解决方案,主要涉及MySQL的主从同步和读写分离。根据业务对数据一致性和延迟的容忍度选择合适模式,读写分离则能进一步优化数据库负载。
608 3
数据库读写分离后的数据同步方式
|
存储 监控 安全
网络安全中的蜜罐:原理、类型及应用
【8月更文挑战第31天】
2345 0
|
机器学习/深度学习 监控 算法框架/工具
使用ViT进行图像分类
使用ViT进行图像分类
630 0