GPT2代码运行,个人文本生成助手,不依赖OpenAI API调用

2023-12-23 20:30

本文主要是介绍GPT2代码运行,个人文本生成助手,不依赖OpenAI API调用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0.前言: 感觉GPT很好玩,所以想要有个自己搭建GPT的写法,不依赖于OpenAI,需要翻墙太麻烦了,近日日本已经结合GPT4和机器,可以让他吓人,做出丰富的表情,如果自己训练的话,会塑造出什么样的机器人尚未可知…抱着好奇的心态,去github openai下载了个gpt2的模型来玩玩(其中遇到了许多坑),也尝试过其他开源的gpt模型(autogpt(还是调用openai的接口,但是以后可能在个人电脑上一键生成项目),gptfree,gpt4all也是调用api,chinesegpt中文模型可以生成但是慢),奈何对电脑的要求太高了,使用2的话可塑性比较强,而且我想要的是大家的电脑都能用上…
//日本机器人模仿表情

https://www.douyin.com/video/7312024142310559039

1.官方gpt2项目地址

https://github.com/openai/gpt-2

2.由于官方使用docker部署的,所以他使用了 python3这个镜像,我们是使用windows来运行的,遇到了许多坑,python版本他们没有给,只能自己调试出来
//我想起了进行java编程maven引入依赖经常出现不兼容的问题,那我可以通过他给的几个版本号来间接推理出其他的版本,假设springboot是3.x,我可以去官网看看他们对应的版本关系,然后在慢慢调试让程序运行起来…

//下面是项目调试后的版本 改掉requirements.txt的内容 python3.7

fire==0.5.0
regex==2023.10.3
TensorFlow==1.13.1
protobuf==3.6.1
requests==2.21.0
tqdm==4.31.1

//安装依赖

pip3 install -r requirements.txt

3.使用
//根据DEVELOPERS.md的说明安装model,官方说了这个项目是给学者研究的,你可以选择任意一个模型来下载,我下载了124M的回答效果很一般emmm

python download_model.py 124M
python download_model.py 355M
python download_model.py 774M
python download_model.py 1558M

//unconditional_samples其实就是你不给他文本他随意生成文本
//使用管道符,把内容生成为一个文本

python src/generate_unconditional_samples.py | tee C:\samples.txt

//效果,语义挺连贯的 He’s lying on a cabinet shelf" until the camera
reopens and a version of Goku transforms into sure next plusSciped It works for youtube 在这里插入图片描述
//缺点是生成的时间太长了使用cpu的话,再看看能不能使用gpu来生成会不会好一点

4.使用对话式生成,unconditional

python src/generate_unconditional_samples.py -- --help

//效果不好,难道模型太小了? 我说fish 他说 同志/女同 的法律与预期不赋
在这里插入图片描述
//6个G…下载好了再看看效果
在这里插入图片描述

这篇关于GPT2代码运行,个人文本生成助手,不依赖OpenAI API调用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/529340

相关文章

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

使用Go调用第三方API的方法详解

《使用Go调用第三方API的方法详解》在现代应用开发中,调用第三方API是非常常见的场景,比如获取天气预报、翻译文本、发送短信等,Go作为一门高效并发的编程语言,拥有强大的标准库和丰富的第三方库,可以... 目录引言一、准备工作二、案例1:调用天气查询 API1. 注册并获取 API Key2. 代码实现3

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

javacv依赖太大导致jar包也大的解决办法

《javacv依赖太大导致jar包也大的解决办法》随着项目的复杂度和依赖关系的增加,打包后的JAR包可能会变得很大,:本文主要介绍javacv依赖太大导致jar包也大的解决办法,文中通过代码介绍的... 目录前言1.检查依赖2.更改依赖3.检查副依赖总结 前言最近在写项目时,用到了Javacv里的获取视频

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo