5分钟用GANs生成CryptoPunks风格图像

2021年,NFT数字艺术品和数字藏品迅速出圈,在这场浪潮中,2017年成立的“加密朋克”(CryptoPunks)项目因其收藏者的知名度和不断刷新的成交价,升值成为最具价值的收藏品之一,更成为了先锋投资者和艺术收藏者身份的象征。

图片来源:larvalabs

多个NFT数字艺术品项目的成功,也将AI生成数字艺术品推至台前。在这场“出圈浪潮”中,很多艺术家选择用AI技术作为图像创造的工具,最终再将艺术品铸造为NFT,使用AI技术进行NFT数字艺术品创作的可能性被充分发掘。与艺术生成有关的AL/ML工作专注于艺术风格的创造,很多团队和个人也关注到艺术品,通过生成对抗网络(GANs)“批量”生成特定风格的作品。

最近有一个名为“CryptoPunks GAN”的项目发布在Github上,用于生成 CryptoPunks 的简单 SN-GAN,项目地址:https://github.com/teddykoker/cryptopunks-gan?。这个项目用Python完成,我们通过矩池云?www.matpool.com?对其进行了复现。矩池云提供面向元宇宙的解决方案,创作者可以使用平台轻松训练和部署其AI模型,加速元宇宙中的如NLP虚拟人、图像内容生成等环节的过程。本次用机器学习生成CryptoPunks项目的复现,上手过程非常简单,不需要任何安装和调试,打开界面就能在云端就感受到生成艺术的创作过程。

分析项目依赖环境

首先通过开源项目的requirements.txt文件,我们知道该项目主要需要Pytorch1.10.2和CUDA11.3环境,另外还需要pandas、Pillow等第三方包,如果将其在本地安装我们还是需要花一定的时间的,不过我们不需要这些复杂的步骤。

我们进入矩池云,如果你还没有注册过账号,可以先注册一个账号,新注册用户关注并绑定矩池云微信公众号可获赠5元体验金,体验金在租用机器时直接抵扣(等会就可以用)。

在矩池云租用合适的机器

在矩池云的主机市场,我们可以选择需要使用到的机器,这里我们就选最便宜的NVIDIA Tesla K80(经过测试,可以使用代码模型和训练)。

选择机器

点击租用按钮后,我们可以对机器进行配置:

1 选择基础镜像,我们直接搜索Pytorch1.10

FTX上线Green Satoshi Token (GST)现货及永续合约:5月2日消息,FTX即将上线Green Satoshi Token (GST)现货及永续合约,上线时间:2022-05-02 14:00 (UTC),上线交易对:GST/USD, GST-PERP。

Green Satoshi Token (GST)是STEPN的实用型通证。GST会在铸造新鞋、修鞋、升级运动鞋、升级宝石和解锁插槽时被消耗。

?[2022/5/2 2:44:51]

2 发现有相关镜像,并且其他依赖如CUDA11.3也符合要求,点击选择即可

3 选择好镜像后,我们可以进行其他配置,如:VNC功能开启、公钥设置、高级选项中的自定义端口等(首次尝试也可以先忽略这些功能)

选择镜像

设置好机器基本环境,我们点击下单即可。(如上所述,如果你是新用户,绑定矩池云微信公众号后获得的体验金可以在释放机器时直接抵扣费用)

租用好机器后,我们选择最简单的使用方法,直接点击租用界面的JupyterLab连接,即可快速使用服务器。

打开JupyterLab

进入JupyterLab页面后,我们先点击Terminal进入终端,并输入下面指令。

打开Terminal

我们只需把上方代码复制粘贴即可,当出现 Checking out files:? 100% 即代表下载开源项目CryptoPunks-GAN项目成功,可以进入到下一步。

Checking out files: 100%

我们可以了解一下刚才输入这段代码的含义,它代表着

先进入/mnt目录(矩池云网盘挂载目录)

新建一个文件夹MyCode并进入文件夹(用于存放项目文件)

git clone下载开源项目cryptopunks-gan

使用预训练模型测试

我们进入到cryptopunks-gan项目目录。具体方式为,找到名为 mnt 的文件夹

mnt文件夹

进入到MyCode,再进入到cryptopunks-gan

路径

然后点击左上角+新建一个Launcher,点击Notebook中的myconda。即可新建一个jupyter notebook文件。

新建ipynb步骤

我们可以先使用预训练好的模型来测试使用,测试使用代码官方已经给我们提供好了。

可以直接复制以下所有代码,或者像我一样一段一段运行

运行按钮如下

运行成功后会在项目目录下生成一个punks.png文件。

我们可以直接点击查看预训练结果

训练模型

按照教程,除了使用预训练模型,我们还可以对模型进行训练,训练代码在项目目录的train.py文件中。

我们重新回到JupyterLab的Terminal中

输入下面指令(首先进入项目目录,然后运行train.py):

运行过程

这个过程比较漫长,预计1个小时左右,训练完成后默认会在项目目录中生成一个out目录,里面会存放训练好的权重文件和样本图片文件。最终完成训练的图片是序号最大的那张,在这个案例中即编号为999的文件。

out目录

此时回到“我的网盘”,即可看到 out 文件夹,刚才的训练过程和结果图片都在其中。

我的网盘

在训练使用过程中你还可以查看机器监控,看机器的GPU、内存等使用情况。

机器使用情况

释放机器

当你的代码都跑完,不需要使用机器时,可以选择释放机器。

在机器租用页面,你可以看到释放机器按钮,在更多按钮中你还可以看到保存环境功能。

释放和保存环境

如果你在基础环境中还安装了一些其他包,并且想在下次使用的时候想继续使用,你可以选择保存环境,保存的环境会存放在你的网盘中。

如果不需要保存环境,直接点击释放机器即可。

以下一部分为epoch训练后生成的图片:

训练最终的完成图如下

GANs生成图

Ian Goodfellow等人在2014年的一篇论文中首次提出生成对抗网络(GANs),它的实现方式是通过同时使用生成模型和判别模型,两个模型相互竞争,从而训练出图片。这一过程可以这样简单解释,生成模型的作用类似于一个人不断地创造假的《蒙娜丽莎》,他要在创造过程中不断提升其和真画的相似度,判别模型则类似于鉴别师,他负责鉴别和确认假画。两个人相互竞争,双方提升各自的创造方法和鉴别方法,直到假画达到与真画难以区分的程度。

在CrypoPunks GAN项目中所用到的算法是SN-GAN,即Spectral Normalization for Generative Adversarial Network,训练过程更稳定,更容易收敛,文献内容可参考?https://arxiv.org/abs/1802.05957?。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

ETH2022 年预测:零知识证明(ZKP)成为 Web3 的关键

去年,零知识证明(ZKP)在加密领域和Web3中扮演了重要角色,它在可扩展性和用户许可隐私方面都发挥着重要作用。这是令人兴奋的,因为它为ZK应用程序在整个加密生态系统中的推出奠定了基础,并成为Web3的杀手级功能。 Web3是一个经常出现的术语,但它有点模糊。乐观地说,它的最佳定义是,它将提供Web1的去中心化和Web2的丰富性。

DOT金色早报 | 全国首笔数字人民币支付工程款项从苏州发出

头条 ▌全国首笔数字人民币支付工程款项从苏州发出 金色财经报道,三笔项目工程款通过数字人民币在苏州成功发放。这是目前国内首笔数字人民币支付工程款项的结算交易,实现了数字金融产业与建设项目的深度融合。付款方苏州高铁新城国有资产控股(集团)有限公司通过中国工商银行数字人民币对公钱包,对苏州保融建设项目管理有限公司的代建费用进行支付。

SHIB对话Luna创始人Do Kwon:UST的比特币局

从 1 月 27 日开始,被标记为 Luna 基金会(Luna Foundation Guard,LFG)的地址里比特币持仓量不断增加,平均两天增持约 3000 枚 BTC。 Luna 基金会持仓数据,律动将持续更新 Terra 发展至今已经成为了加密行业不可忽视的庞大生态,TVL 仅次于以太坊、UST 也成为了第四大 Stablecoin。

比特币Tether:利刃出鞘的金融自由宝剑

技术是变革最有力的力量之一。它塑造了我们的个人生活和沟通方式,改变了各国的发展方向以及各国保护自己的方式,甚至塑造了我们的文化以及人们之间的关系。科技对我们的世界产生了巨大的影响。然而,技术本质上是中立的,由人类定义技术。爱因斯坦的原子论可以用来为人类提供丰富的清洁能源,也可以用来制造最具破坏性的武器。技术是中立的,但我们使用它的方式不是。

[0:15ms0-8:2ms