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

相关文章

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

Java Spring的依赖注入理解及@Autowired用法示例详解

《JavaSpring的依赖注入理解及@Autowired用法示例详解》文章介绍了Spring依赖注入(DI)的概念、三种实现方式(构造器、Setter、字段注入),区分了@Autowired(注入... 目录一、什么是依赖注入(DI)?1. 定义2. 举个例子二、依赖注入的几种方式1. 构造器注入(Con

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

python如何调用java的jar包

《python如何调用java的jar包》这篇文章主要为大家详细介绍了python如何调用java的jar包,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录一、安装包二、使用步骤三、代码演示四、自己写一个jar包五、打包步骤六、方法补充一、安装包pip3 install

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O