基于Pytorch实现AI写藏头诗

ops/2024/10/18 10:28:40/

网上你找了一圈发现开源的代码不是付费订阅就是代码有问题,基于Pytorch实现AI写藏头诗看我这篇就够了。
用到的工具:华为云ModelArts平台的notebook/Pycharm/Vscode都行。
镜像:pytorch1.8-cuda10.2-cudnn7-ubuntu18.04,有GPU优先使用GPU资源。

实验背景

在短时测试使用场景,可使用华为云Modelarts的notebook的公共资源池完成相关场景测试验证。

Modelarts Standard公共资源池提供公共的大规模计算集群,根据用户作业参数分配使用,资源按作业隔离。 用户下发训练作业、部署模型均可以使用ModelArts提供的公共资源池完成,按照使用量计费,方便快捷。公共资源池使用共享资源,在任何时候都有可能排队。有关Modelarts资源池的介绍请参考Modelarts公共资源池。

本实验主要介绍基于modelarts的notebook开发环境,来进行LSTM模型的训练->推理的代码实战开发和运行。本实验会使用到ModelArts服务。

实验步骤

操作前提:登录华为云
进入【实验操作桌面】,打开谷歌浏览器进入华为云登录页面。选择【IAM用户登录】模式,于登录对话框中输入系统为您分配的华为云实验账号和密码登录华为云,如下图所示:
注意:账号信息详见实验手册上方,切勿使用您自己的华为云账号登录。

image

任务一:创建开发环境

步骤1 进入控制台

在华为云控制台中搜索并单击“ModelArts”,进入ModelArts控制台。如下图所示:

image

步骤2 进入notebook列表

点击左侧列表中的“开发环境” > “Notebook”,并点击“创建”。如下图所示:

image

步骤3 配置notebook参数

在创建Notebook页面中,进行以下配置。如下图所示:

image

主要参数信息如下,其余配置请保持默认配置

名称:notebook-LSTM(名称固定)

镜像:选择“公共镜像”,并选择“pytorch1.8-cuda10.2-cudnn7-ubuntu18.04”

资源类型:选择“公共资源池”

类型:选择“GPU”

规格:选择“GPU: 1*Pnt1(16GB)|CPU: 8核 64GB”

其他保持默认

确认无误后,点击“立即创建”。

步骤4 提交notebook创建请求

  1. 点击“提交”,即开始创建,如下图所示。

image

点击“立即返回”,稍等片刻即创建成功,您可查看已创建的Notebook。如下图所示:

image

任务二:进入notebook开发环境

步骤1 打开notebook环境

点击新建的notebook的打开按钮,进入notebook开发环境,如下图所示:
image

步骤2 进入notebook开发环境

进入tensorflow开发环境,如下图所示:
image

任务三 运行代码

对下文的每个代码片段,在tensorflow开发环境中,新建一个代码块进行运行,如下图所示:
image

步骤1 安装需要的包

输入:

!pip install torchnet

输出:

Looking in indexes: http://repo.myhuaweicloud.com/repository/pypi/simple
Requirement already satisfied: torchnet in /home/ma-user/anaconda3/envs/PyTorch-1.8/lib/python3.7/site-packages (0.0.4)
Requirement already satisfied: visdom in /home/ma-user/anaconda3/envs/PyTorch-1.8/lib/python3.7/site-packages (from torchnet) (0.2.4)
s (from requests->visdom->torchnet) (1.26.12)
Requirement already satisfied: charset-normalizer~=2.0.0 in /home/ma-user/anaconda3/envs/PyTorch-1.8/lib/python3.7/site-packages (from requests->visdom->torchnet) (2.0.12)
Requirement already satisfied: certifi>=2017.4.17 in /home/ma-user/anaconda3/envs/PyTorch-1.8/lib/python3.7/site-packages (from requests->visdom->torchnet) (2022.9.24)
WARNING: You are using pip version 21.0.1; however, version 24.0 is available.
You should consider upgrading via the '/home/ma-user/anaconda3/envs/PyTorch-1.8/bin/python3.7 -m pip install --upgrade pip' command.

步骤2 获取数据

import moxing as mox
mox.file.copy_parallel('obs://modelarts-labs-bj4-v2/course/NLP_Course/LSTM','LSTM_poem-master')

输出结果可刷新查看右边的文件夹:

image

步骤3 数据集来源和读取数据集

本次采用的是唐诗数据集,一共有接近60000首唐诗,不需要标签,因为AI自动写诗可以看成是语言模型的一个应用
其中一首诗的一句如下:

image
任务定义:给出一首诗的开头几个词,或者首句(随便),续写之后的句子。

测试结果初窥:

image
读取数据集
输入:

%cd /home/ma-user/work/LSTM_poem-master
import numpy as np
file_path="tang.npz"
poem=np.load(file_path,allow_pickle=True)
poem.files

查看结果:

image
一些其他操作:

ix2word,word2ix,data=poem['ix2word'],poem['word2ix'],poem['data']
data.shape
char2ix=word2ix.item()
ix2char=ix2word.item()
vocab_size=len(char2ix)
vocab_size
pad_id=char2ix["</s>"]
start_id=char2ix["<START>"]
end_id=char2ix["<EOP>"]
print(pad_id,start_id,end_id)

查看运行结果

image

步骤4 数据预处理

减少训练的量,选2000首诗进行训练。

data=data[:2000]
data.shape

结果:

image

把放在放到后面,#将数据进行转换。

#把</s>放在放到后面。
def reverse(poem):ind=np.argwhere(poem==start_id).item()new_poem=poem[ind:len(poem)]pad=poem[0:ind]return np.hstack((new_poem,pad))#将数据进行转换。
for i in range(len(data)):data[i]=reverse(data[i])
for i in range(data.shape

http://www.ppmy.cn/ops/48478.html

相关文章

kunpeng的aarch64架构cpu、openeuler系统、昇腾服务器适配文档转换功能(doc转docx、ppt转pptx)

一、安装flatpak sudo yum install flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo二、安装libreoffice flatpak install flathub org.libreoffice.LibreOffice三、使用 对于使用 flatpak 安装的 LibreOffice,不需要手…

nc网络收发测试-tcp客户端\TCP服务器\UDP\UDP广播

netcat&#xff08;nc&#xff09;&#xff1a; 作用&#xff1a;一个功能强大的网络工具&#xff0c;提供了简单的网络测试和网络编程功能。工作原理&#xff1a;可以用于建立TCP或UDP连接&#xff0c;并发送和接收数据。示例用法&#xff1a; 监听TCP端口&#xff1a;nc -l 1…

C++中的单例模式

目录 单例模式&#xff08;Singleton Pattern&#xff09; 实际应用 配置管理器&#xff08;Configuration Manager&#xff09; 日志管理器&#xff08;Logger&#xff09; 数据库连接池&#xff08;Database Connection Pool&#xff09; 总结 单例模式&#xff08;Sin…

基于springboot的城市垃圾分类管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的城市垃圾分类管理系统,…

Python开发者必备:Python多平台消息推送工具

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒🚀 安装📝 使用方法📝 同步发送消息📝 异步发送消息📝 使用配置文件发送消息📝 示例配置文件⚓️ 相关链接 ⚓️📖 介绍 📖 你是否需要一个强大且灵活的工具来实现多平台消息推送?那么你一定不能…

商标撤三申请成功,为商标申请扫除障碍!

最近去年帮一个主体做的商标连续三年使用撤销申请下来了&#xff0c;成功撤销掉目标商标&#xff0c;普推商标老杨看到对方在规定时间内没有提供使用证据进行答辩&#xff0c;这样基本上就会被撤销掉。 现在有效商标注册量很高&#xff0c;许多想到的商标名称基本上都有相同或高…

HDFS 读写数据流程

优质博文&#xff1a;IT-BLOG-CN 一、HDFS 写数据流程 HDFS 文件写入流程图如下&#xff1a;三个模块&#xff08;客户端、NameNode、DataNode&#xff09; 【1】校验&#xff1a; 客户端通过 DistributedFileSystem 模块向 NameNode 请求上传文件&#xff0c;NameNode 会检…

SAP ABAP 之面向对象OO

文章目录 前言一、类的理解二、如何创建ABAP类 a.类的定义与构成 b.类的访问区域 c.特殊方法 d.类的继承 三、类中参数的使用 a.IMPORTING / EXPORTING b.CHANGING c.RETURNING d.EX…