准备在云中训练深度伪造模型





5.00/5 (2投票s)
在本文中,我将向您展示如何借助 Docker 在云端训练您的深度伪造模型。
深度伪造——利用深度学习将一个人的脸替换到视频中的另一个人身上——是当今人工智能最有趣且令人担忧的应用方式之一。
虽然深度伪造可用于合法目的,但也可用于虚假信息传播。通过能够轻松地将某人的脸部替换到任何视频中,我们真的能相信我们的眼睛所见吗?一位政治家或演员做出或说出令人震惊的事情的逼真视频可能根本不是真的。
在本系列文章中,我们将展示深度伪造的工作原理,并展示如何从头开始实现它们。然后,我们将介绍 DeepFaceLab,这是一个功能齐全的、由 Tensorflow 支持的工具,通常用于创建令人信服的深度伪造。
Google AI Platform 是 Google 完全托管的端到端平台,专门为数据科学和机器学习操作而开发。它是 Google Cloud Platform 的一部分,最近受到了很多关注,尤其是因为它极易理解和使用。AI Platform 使机器学习工程师和数据科学家能够以快速且经济高效的方式,将他们的机器学习项目从零开始推向生产环境。
话虽如此,它并非免费。它可能变得相当昂贵,任何其他类似的平台也是如此。但它肯定比聘请 CGI 团队便宜(而且更快)!
请注意,我们使用 Google Cloud 是因为我们必须将 AI 容器部署到某个地方才能采用 AIOps 方法进行模型训练。不要将其解读为 Google Cloud 必然是最佳选择。但要开始训练,我们需要选择一个特定的平台来运行它。这种基本的相同方法在 AWS 或 Azure 上同样有效。
在本文中,我将帮助您准备好开始模型训练所需的一切,并借助 Docker 容器。让我们动手吧!
检查先决条件
首先,创建您的 Google Cloud Platform 帐户。这非常简单:启动 cloud.google.com,点击“免费开始”,从列表中选择您的 Google 帐户,正常登录,即可完成。您应该会看到主仪表板。如果您被要求输入账单信息,请继续输入,这是完全正常的,因为其中一些服务不在免费套餐内,如果您使用它们,则需要收费。
接下来,在 Google Cloud Console 的项目选择器页面上,确保您 选择或创建一个项目。
然后,检查 是否已启用结算。正如我之前所说的,这是必需的,因为他们需要对您在使用他们平台上的任何超出免费套餐范围的服务进行收费。
最后,启用 AI Platform Training & Prediction、Compute Engine 和 Container Registry API。这是为了向您的角色授予执行我们将要执行的任务的正确权限。在下拉列表中选择您的项目,然后点击继续以启用 API。您无需下载凭据。
在您的本地计算机上设置所有内容
为了远程与 GCP 交互并准备 Docker 容器,我们仍然需要在您的计算机上安装和配置一些东西。
首先,安装并初始化 Cloud SDK。这是允许您从计算机终端与 GCP 交互的套件。在此 处 获取正确的安装程序。选择您的计算机操作系统类型并按照说明进行操作。
接下来,在您的机器上安装 Docker。转到其 官方网站,并获取适合您操作系统类型的版本。
安装完成后,如果您的计算机运行任何基于 Linux 的操作系统,您需要将您的用户名添加到 Docker 组,以便在不使用 sudo 的情况下运行 Docker 命令。为此,请打开终端窗口并输入 sudo usermod -a -G docker ${USER}
,然后重新启动计算机。
最后,为了确保 Docker 已启动并正在运行,请运行 docker run busybox date
,如果它返回当前日期和时间,则表示您已准备就绪!
创建提交训练作业所需的本地变量
在进入实际代码之前,还有一些额外的步骤。让我们开始吧。
您必须为将存储模型及其相关文件的存储桶指定一个名称。为此,我们将使用您的项目 ID 作为标识符。运行 PROJECT_ID=$(gcloud config list project --format "value(core.project)")
,然后运行 BUCKET_NAME=${PROJECT_ID}-aiplatform
接下来,定义执行训练作业的区域。运行 REGION=us-central1
(您可以在 此处 找到所有可用区域)。
还需要一些其他变量。要创建它们,请运行
IMAGE_REPO_NAME=tf_df_custom_container
IMAGE_TAG=tf_df_gpu
IMAGE_URI=gcr.io/$PROJECT_ID/$IMAGE_REPO_NAME:$IMAGE_TAG
MODEL_DIR=df_model_$(date +%Y%m%d_%H%M%S)
JOB_NAME=df_job_$(date +%Y%m%d_%H%M%S)
创建项目所需的存储桶
如果您不熟悉存储桶,那也没关系。在 GCP 和一些其他云提供商(如 AWS)中,存储桶是您可以存储数据的地方。它在云中表现得像一个目录。要为我们的项目创建所需的存储桶,请运行 gsutil mb -l $REGION gs://$BUCKET_NAME
我知道这有很多信息需要消化,但我们离结尾真的很近了,请坚持下去!在 下一篇文章 中,我将深入介绍如何创建用于训练深度伪造模型的 Docker 容器,并将作业提交到 Google AI Platform。