机器学习-搭建轻量级GPT2训练对话

news2024/11/18 3:26:44

 在自己的机器上部署一个GPT简直太酷啦,因为模型数据缘故,所以这个机器人有时候傻傻的。。。

需要安装环境:python3.7 、Transformers==4.2.0、pytorch==1.7.0、nginx(映射网页文件)

我的系统:MAC m2

Mac默认是有一个Python在系统上,但是版本低,所以我们再安装个Python3的版本覆盖它太简单了我就不放出来了。

1.安装pytorch

然后开始安装pytorch==1.7.0+cpu,指令为:pip3 install torch==1.7.0+cpu torchvision==0.8.1+cpu torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html,然后报错,说是pip3的版本不够了按提示修改即可。

需升级下pip3,指令为:pip3 install --upgrade pip

通过pip3更新升级并成功 .

再继续执行此安装pytorch指令,还是报错,没有找到匹配的pytorch

升级成功以后继续安装命令还是有问题,此次的问题没有找到满意的安装版本,那就自己下载(通过网站https://download.pytorch.org/whl/torch_stable.html),下载后放入Download文件夹下

 找到文件并执行命令安装下好的文件torch,命令:pip3 install  /Downloads/torch-1.7.0-cp37-none-macosx_10_9x86_64.whl,安装成功。

2.安装torchvision 

继续安装torchvision,还是报这个错

找不到此包的版本,再次已相同方式从网络上下载下来并安装torchvision,成功了!

3.安装orchaudio 

继续安装torchaudio,成功!命令:pip3 install orchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

安装剩余的也都安装成功! 

4.安装nginx

MAC没有宝塔的安装包(此处宝塔的目的也是运行nginx进行文件映射),所以安装nginx,yum命令没有,需要先安装brew

4.1安装brew 

安装brew,命令为:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

执行这个命令选择源开始安装,中间输入自己的开机密码

安装nginx,命令:brew install nginx  ,报错了

 输入brew -v

输入命令配置:git config --global --add safe.directory ....将上图指令提示的复制过来执行就好

 再继续brew install nginx,成功!

4.2nginx的启动

打开nginx文件命令: open /opt/homebrew/etc/              

启动nginx命令:nginx

输入启动指令,访问网址看是否成功没,默认8080,证明nginx下载安装成功!

4.3 nginx的配置 

nginx配置的文件:open /opt/homebrew/etc/     

修改nginx配置文件:vim /opt/homebrew/etc/nginx/nginx.conf

 server {
        listen       8080;
        server_name  localhost;
         #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            # 配置文件位置
            alias /你自己的路径文件/GPT2-chitchat-master/web/;
       }
}

nginx配置完html页面,重新加载nginx的配置并启动:nginx -s reload。

5.代码WebSocket配置

在项目的web/js/index.js下找到这行代码,更改WebSocket地址为你自己的后台后端的ip地址。

 修改interact.py里的代码,将服务器端WebSocket的ip改为你自己的ip。

 6.启动python模型

执行启动python程序命令:python3 interact.py --no_cuda --model_path  /model/model_epoch40_50w,报这个错:​​​packaging.version.InvalidVersion: Invalid version: '0.10.1,<0.11' 

执行命令:pip3 install packaging==21.3即可解决这个错误!

 再执行执行python启动命令还是报错,找不到tensorboard模块。

再继续执行命令安装这个模块:pip3 install tensorboard 。成功了

继续执行python启动命令,继续报错,缺少sklearn模块,执行pip3 install scikit-learn,然后报超时了。

执行这个指令:pip3 --default-timeout=100 install scikit-learn -i Simple Index --trusted-host pypi.douban.com

然后执行python启动,命令: python3 interact.py --model_path model/model_epoch40_50w

就成功了!注意执行python运行命令需要在项目目录下。

 然后刷新一下界面就连接上了,接着就可以对话了。

 不容易啊,试错了无数次才成功!

本文是根据小傅哥的机器学习搭建GPT训练傻傻的机器人为学习资料。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/634162.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jmeter如何安装jp@gc - Ultimate Thread Group插件(终极线程组)

首先明确一点&#xff0c;我们为什么要做压力测试&#xff1f; 压力测试是为了确保系统能够在负载高峰期和长时间运行的情况下保持高性能、稳定和可靠。同时也是软件开发生命周期中不可或缺的一环&#xff0c;帮助开发人员和系统管理员优化和调整系统&#xff0c;以提供卓越的…

2023春期末考试选择题R2-8计算最小生成树总权重详解

题目如图&#xff1a; 分析和计算&#xff1a; 题目给出一个图的邻接矩阵表示&#xff0c;要求求最小生成树的总开销。 根据Kruskal算法&#xff0c;根据邻接矩阵顶点连接情况&#xff0c;收集开销最小的边&#xff0c;直到所有顶点被收集&#xff0c;且无环路&#xff0c;即…

Debian 12 “bookworm“ 发布 - 通用操作系统

Debian 12 “bookworm” 发布 - 通用操作系统 基于 Linux kernel 6.1 LTS&#xff0c;支持 APFS 读写 请访问原文链接&#xff1a;https://sysin.org/blog/debian-12/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org Debian 1…

(数组) 1365. 有多少小于当前数字的数字 ——【Leetcode每日一题】

❓1365. 有多少小于当前数字的数字 难度&#xff1a;简单 给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&#xff0c;对于每个 nums[i] 你必须计算出有效的 j 的数量&#xff0c;其中 j 满足 j ! i 且…

希捷科技:具有周期性价值的全球云存储之王

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 总结&#xff1a; &#xff08;1&#xff09;根据Statista的数据&#xff0c;希捷科技是全球硬盘驱动器市场的领导者&#xff0c;在全球拥有约43%的市场份额。 &#xff08;2&#xff09;希捷科技的管理层近期已经宣布了一…

Node.js模块化学习笔记

Node.js模块化 模块化雨模块 将一个复杂的程序文件依据一定规则&#xff08;规范&#xff09;拆分成多个文件的过程称之为模块化。 其中拆分的每个文件就是一个模块&#xff0c;模块的内部数据是私有的&#xff0c;不过模块可以暴露内部数据以便其他模块使用 模块化项目 编…

Python课期末考试复习

简答 定义函数的规则 1、函数代码块以def关键词开头&#xff0c;后接函数标识符名称和圆括号() 2、任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。 3、函数的第一行语句可以选择性的使用文档字符串用于存放函数说明。 4、函数内容以冒号起始&#xf…

从前序与中序遍历序列构造二叉树

题目链接 从前序与中序遍历序列构造二叉树 题目描述 注意点 inorder.length preorder.lengthpreorder 和 inorder 均 无重复 元素inorder 均出现在 preorderpreorder 保证 为二叉树的前序遍历序列inorder 保证 为二叉树的中序遍历序列 解答思路 前序遍历的首个节点为根节…

[架构之路-211]- 需求- 软架构前的需求理解:ADMEMS标准化、有序化、结构化、层次化需求矩阵 =》需求框架

目录 前言&#xff1a; 一、什么是ADMES: 首先&#xff0c;需求是分层次的&#xff1a; 其次&#xff0c;需求是有结构的&#xff0c;有维度的 再次&#xff0c;不同层次需求、不同维度需求之间可以相互转化&#xff08;难点、经验积累&#xff09; 最终&#xff0c;标准…

UnitTest 学习

UnitTest 一、UnitTest 基本使用1. TestCase 测试用例2. TestSuite 和 TestRunner3. TestLoader 测试加载4. Fixture 二、断言与参数化断言参数化 三、测试报告获取项目的绝对路径登录案例跳过 一、UnitTest 基本使用 UnItTest 框架介绍 UnitTest是python自带的一个单元测试框…

HTTP 和 HTTPS 协议原理【网络基础】

文章目录 1. HTTP 的优点2. HTTP 的缺点明文可能会被窃听通信方可能被伪装报文可能被篡改 2.1 弥补 HTTP 的缺点&#xff08;概述&#xff09;加密明文通信加密内容加密 验证通信方报文完整性校验 3. HTTPS 协议3.1 SSL/TLS 协议概述3.2 加密机制对称加密非对称加密混合加密 3.…

一文终结SQL 子查询优化

概要 子查询&#xff08;Subquery&#xff09;的优化一直以来都是 SQL 查询优化中的难点之一。关联子查询的基本执行方式类似于 Nested-Loop&#xff0c;但是这种执行方式的效率常常低到难以忍受。当数据量稍大时&#xff0c;必须在优化器中对其进行去关联化&#xff08;Decoor…

深入理解深度学习——Transformer:基础知识

分类目录&#xff1a;《深入理解深度学习》总目录 相关文章&#xff1a; 作为当下最先进的深度学习架构之一&#xff0c;Transformer被广泛应用于自然语言处理领域。它不单替代了以前流行的循环神经网络(recurrent neural network, RNN)和长短期记忆(long short-term memory, …

网络安全入门学习第十七课——PHP数组

文章目录 一、索引数组二、关联数组三、数组定义1、多维数组2、赋值方式3、短数组定义法&#xff08;[ ] PHP 5.4起增加的) 四、访问数组五、遍历数组1、使用 for 循环2、foreach语句遍历 六、合并两个数组1、“”联合运算符2、array_combine 函数 七、数组排序函数八、数组增删…

redis 全系列目录

redis常用资源_存在,及合理的博客-CSDN博客Redis 官网 推荐CRUG网站redis 中文 官网Spring Data Redis 客户端工具官网Distributed Locks with Redis | Redishttps://github.com/redisson/redisson 分布式锁实现大数据高并发Redis一本通-张文亮编著-微信读书 书籍推荐https://b…

Misc(三)

LSB 这题没见过&#xff0c;是看的wp 首先了解LSB是什么 LSB简介 最低有效位&#xff08; least significant bit&#xff0c;LSB&#xff09;指的是一个二进制数字中的最低位。最低有效位和最高有效位是相对应的概念。LSB是一种常被用做图片隐写的算法。LSB属于空域算法中的一…

学成在线----day6

1、断点续传 断点续传指的是在下载或上传时&#xff0c;将下载或上传任务&#xff08;一个文件或一个压缩包&#xff09;人为的划分为几个部分&#xff0c;每一个部分采用一个线程进行上传或下载&#xff0c;如果碰到网络故障&#xff0c;可以从已经上传或下载的部分开始继续上…

【文生图系列】Stable Diffusion原理篇

文章目录 Stable Diffusion的组成什么是扩散扩散是如何工作的去噪声绘制图像将文本信息添加到图像生成器中参考 “文生图”&#xff0c;或者AI绘画&#xff0c;最近异常火爆&#xff0c;输入一些描述性的语句&#xff0c;AI就能够生成相应的画作。甚至引发了一个问题&#xff1…

智能饮品柜颠覆升级,点赋科技引领行业跨越式发展

智能科技的迅速发展&#xff0c;不断改变人们的生活方式和商业模式&#xff0c;在众多领域迎来了新的机会和挑战。其中&#xff0c;饮品行业聚集了大量的消费者和商家&#xff0c;成为了一个具有广泛发展空间和潜力的市场。而在这个市场上&#xff0c;点赋科技认为智能饮品柜作…

ARM基础(3):MPU内存保护单元详解及例子

MPU(Memory Protection Unit)是ARM处理器中的一个特性&#xff0c;它提供了内存保护和访问控制的功能&#xff0c;通常用于实现操作系统的内存隔离和保护。比如我们可以设置所有的RAM为不可执行&#xff0c;这样就可以避免代码注入攻击。最近做项目过程中&#xff0c;使用的几个…