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

巴比特Publié le 2022-03-28Dernière mise à jour le 2022-03-28

Résumé

人人都可制作NFT朋克头像,详解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项目的复现,上手过程非常简单,不需要任何安装和调试,打开界面就能在云端就感受到生成艺术的创作过程。

一、分析项目依赖,租用机器

1.1 分析项目依赖环境

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

分析项目依赖环境

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

1.2 在矩池云租用合适的机器

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

选择机器

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

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

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

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

选择镜像

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

二、下载代码、数据及模型

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

打开JupyterLab

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

打开Terminal

cd /mnt

mkdir MyCode && cd MyCode

git clone https://hub.fastgit.xyz/teddykoker/cryptopunks-gan.git

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

Checking out files: 100%

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

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

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

git clone下载开源项目cryptopunks-gan

三、使用模型和训练

3.1 使用预训练模型测试

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

mnt文件夹

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

路径

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

新建ipynb步骤

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

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

import torch

from torchvision.utils import save_image

from train import Generator

model = Generator()

model.load_state_dict(torch.load("models/net_g_epoch_999.pth"))

z = torch.randn(64, 100, 1, 1)

punks = model(z)

save_image(punks, "punks.png", normalize=True)

运行按钮如下

运行按钮

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

punks.png

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

点击查看

3.2 训练模型

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

我们重新回到JupyterLab的Terminal中

打开Terminal

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

cd /mnt/MyCode/cryptopunks-gan

python train.py

运行过程

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

out目录

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

我的网盘

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

机器使用情况

3.3 释放机器

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

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

释放和保存环境

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

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

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

训练最终的完成图如下

GANs生成图

四、关于GANs

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

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

Lectures associées

Avertissement récent du PDG de Microsoft Nadella : Miser tout sur un seul grand modèle, c'est confier la survie de l'entreprise à un autre

Le PDG de Microsoft, Satya Nadella, met en garde les entreprises contre le risque de « tout miser sur un seul grand modèle d'IA ». Il souligne qu'une dépendance exclusive à un fournisseur d'IA peut conduire à une externalisation dangereuse des processus de pensée de l'entreprise, compromettant ainsi sa survie à long terme. Le danger réside dans l'accumulation, au sein d'un système unique, des données internes, de l'historique des interactions (contexte, mémoire), des méthodes de travail et des flux décisionnels. Cela expose l'entreprise à plusieurs risques majeurs : la divulgation involontaire de son savoir-faire stratégique au fournisseur, des coûts de migration prohibitifs en cas de changement, et une vulnérabilité face aux évolutions de prix, de capacités ou de politique du fournisseur. La solution proposée par Nadella est la dissociation. Les entreprises doivent conserver le contrôle de leurs données, métadonnées (historique des requêtes, résultats, corrections) et de leur « système de pilotage » (Harness). Les modèles d'IA sous-jacents (OpenAI, Anthropic, etc.) doivent être traités comme des moteurs d'inférence interchangeables en fonction des besoins (codage, analyse, sécurité) et des performances. Ainsi, l'entreprise préserve son « circuit neuronal » unique – son intelligence organisationnelle accumulée sous forme de prompts, de contexte et de processus – tout en restant agile et indépendante vis-à-vis de l'évolution technologique. En résumé, si les modèles les plus puissants peuvent être loués, la « pensée » et la mémoire opérationnelle d'une entreprise doivent rester sa propriété la plus précieuse et être fermement gardées en interne.

marsbitIl y a 38 mins

Avertissement récent du PDG de Microsoft Nadella : Miser tout sur un seul grand modèle, c'est confier la survie de l'entreprise à un autre

marsbitIl y a 38 mins

« Payer pour passer en priorité » en quelques millisecondes : comment les frais prioritaires d’Hyperliquid sont-ils devenus une activité rapportant des centaines de millions de dollars par an ?

L’article explore le mécanisme des « frais de priorité » (Priority Fee) sur la plateforme de dérivés décentralisée Hyperliquid, qui permet aux traders d’acheter un avantage en latence de quelques millisecondes pour traiter leurs ordres en priorité. Inspirée du monde de la finance traditionnelle où les traders à haute fréquence investissent massivement pour réduire les délais, cette fonctionnalité transforme la course à la vitesse en un système économique transparent sur la blockchain. Le système repose sur deux volets : la priorité de lecture des données (Gossip Priority), vendue aux enchères, et la priorité d’exécution des ordres (Order Priority), où les utilisateurs paient des frais pour « passer devant » dans le mempool. Depuis son lancement, ce mécanisme a généré plus de 5 millions de dollars de revenus pour le protocole, avec un potentiel annuel estimé à plusieurs dizaines de millions. Ces frais répondent à un besoin crucial pour les market makers et les gros acteurs, pour qui quelques millisecondes peuvent faire la différence entre profit et perte, notamment pour éviter le front-running ou les liquidations. En captant une partie de la valeur extractible (MEV) directement au sein du protocole, Hyperliquid crée une nouvelle source de revenus au-delà des frais de transaction classiques. De plus, le modèle renforce l’économie du token HYPE : une partie des frais de priorité est brûlée (réduction de l’offre), et les traders doivent maintenir un solde de HYPE non délégué pour y participer, ce qui stabilise le prix. Toutefois, l’article soulève une question d’équité : cette mécanique favorise les acteurs riches au détriment des petits traders, qui peuvent subir des délais ou des slippages plus importants lors des fortes volatilités.

marsbitIl y a 52 mins

« Payer pour passer en priorité » en quelques millisecondes : comment les frais prioritaires d’Hyperliquid sont-ils devenus une activité rapportant des centaines de millions de dollars par an ?

marsbitIl y a 52 mins

Jito utilise JTX pour capter le flux des utilisateurs, pourquoi reste-t-il sous-évalué par le marché ?

Jito a lancé JTX le 14 juillet, un produit qui transforme son modèle économique en lui permettant de valoriser et de monétiser le flux d'utilisateurs sur Solana, plutôt que de rester un simple preneur de prix de l'espace de blocs. L'article suggère que le marché sous-évalue toujours JTO, le considérant comme une infrastructure backend, alors que JTX le positionne comme un fixateur de prix pour le trafic utilisateur. Les premiers signaux de JTX sont positifs, avec des écarts de prix minimes pour la majorité des transactions. Pour valoriser JTO, l'analyse utilise un scénario de base où JTX capturerait 15% du volume des DEX Solana d'ici au Q2 2027, générant des revenus annualisés d'environ 32,7 millions de dollars. Avec une valorisation prudente de 30 fois ces revenus, le prix cible pour JTO serait de 1,18 $, soit une hausse potentielle de 57% par rapport au prix actuel (environ 0,75 $). Une analyse probabiliste incluant des scénarios optimistes (40% de probabilité) et pessimistes (10%) aboutit à un prix cible pondéré de 2,75 $, impliquant une appréciation potentielle d'environ 267%. L'évaluation est très sensible au volume futur des DEX Solana, mais l'analyse penche pour l'optimisme, anticipant une montée en puissance des actifs tokenisés. De plus, JTX devrait mettre en place un mécanisme de rachat conséquent pour le token JTO, créant un effet de levier sur sa valeur.

marsbitIl y a 1 h

Jito utilise JTX pour capter le flux des utilisateurs, pourquoi reste-t-il sous-évalué par le marché ?

marsbitIl y a 1 h

Trading

Spot
活动图片