moffee模型部署教程

一、介绍

moffee 是一个开源幻灯片制作工具,可以将 markdown 文档转换为干净、专业的幻灯片。

  • moffee 处理布局、分页和样式 ,因此您可以专注于您的内容。
  • 需要学习的内容很少 。moffee 使用简单的语法来根据您的喜好安排和设计内容。
  • 实时网络界面会在您输入时更新幻灯片,让您可以开始幻灯片放映或将其导出为 PDF。

二、部署过程

基础环境最低要求说明:

环境名称版本信息1
Ubuntu22.04.4 LTS
CudaV12.1.105
Python3.10
NVIDIA CorporationRTX 3060

1. 更新基础软件包

查看系统版本信息

# 查看系统版本信息,包括ID(如ubuntu、centos等)、版本号、名称、版本号ID等
cat /etc/os-release

1726627581255_image.png

配置 apt 国内源

# 更新软件包列表
apt-get update

这个命令用于更新本地软件包索引。它会从所有配置的源中检索最新的软件包列表信息,但不会安装或升级任何软件包。这是安装新软件包或进行软件包升级之前的推荐步骤,因为它确保了您获取的是最新版本的软件包。

# 安装 Vim 编辑器
apt-get install -y vim

这个命令用于安装 Vim 文本编辑器。-y 选项表示自动回答所有的提示为“是”,这样在安装过程中就不需要手动确认。Vim 是一个非常强大的文本编辑器,广泛用于编程和配置文件的编辑。

为了安全起见,先备份当前的 sources.list 文件之后,再进行修改:

# 备份现有的软件源列表
cp /etc/apt/sources.list /etc/apt/sources.list.bak

这个命令将当前的 sources.list 文件复制为一个名为 sources.list.bak 的备份文件。这是一个好习惯,因为编辑 sources.list 文件时可能会出错,导致无法安装或更新软件包。有了备份,如果出现问题,您可以轻松地恢复原始的文件。

# 编辑软件源列表文件
vim /etc/apt/sources.list

这个命令使用 Vim 编辑器打开 sources.list 文件,以便您可以编辑它。这个文件包含了 APT(Advanced Package Tool)用于安装和更新软件包的软件源列表。通过编辑这个文件,您可以添加新的软件源、更改现有软件源的优先级或禁用某些软件源。

在 Vim 中,您可以使用方向键来移动光标,

i 键进入插入模式(可以开始编辑文本),

Esc 键退出插入模式,

:wq 命令保存更改并退出 Vim,

或 :q! 命令不保存更改并退出 Vim。

编辑 sources.list 文件时,请确保您了解自己在做什么,特别是如果您正在添加新的软件源。错误的源可能会导致软件包安装失败或系统安全问题。如果您不确定,最好先搜索并找到可靠的源信息,或者咨询有经验的 Linux 用户。

1726627632814_image.png

使用 Vim 编辑器打开 sources.list 文件,复制以下代码替换 sources.list里面的全部代码,配置 apt 国内阿里源。

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

1726627649314_image.png

安装常用软件和工具

# 更新源列表,输入以下命令:
apt-get update# 更新系统软件包,输入以下命令:
apt-get upgrade# 安装常用软件和工具,输入以下命令:
apt-get -y install vim wget git git-lfs unzip lsof net-tools gcc cmake build-essential

出现以下页面,说明国内apt源已替换成功,且能正常安装apt软件和工具

1726627670779_image.png

2. 安装 NVIDIA CUDA Toolkit 12.1

  • 下载 CUDA Keyring :
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb

这个命令用于下载 CUDA 的 GPG 密钥环,它用于验证 CUDA 软件包的签名。这是确保软件包安全性的一个重要步骤。

  • 安装 CUDA Keyring :
dpkg -i cuda-keyring_1.0-1_all.deb

使用 dpkg 安装下载的密钥环。这是必要的,以便 apt 能够验证从 NVIDIA 仓库下载的软件包的签名。

1726627689852_image.png

  • 删除旧的 apt 密钥(如果必要) :
apt-key del 7fa2af80

这一步可能不是必需的,除非您知道 7fa2af80 是与 CUDA 相关的旧密钥,并且您想从系统中删除它以避免混淆。通常情况下,如果您只是安装 CUDA 并使用 NVIDIA 提供的最新密钥环,这一步可以跳过。

  • 更新 apt 包列表 :
apt-get update

更新 apt 的软件包列表,以便包括刚刚通过 cuda-keyring 添加的 NVIDIA 仓库中的软件包。

  • 安装 CUDA Toolkit :
apt-get -y install cuda-toolkit-12-1

1726627724243_image.png

出现以下页面,说明 NVIDIA CUDA Toolkit 12.1 安装成功

1726627736357_image.png

注意:这里可能有一个问题。NVIDIA 官方 Ubuntu 仓库中可能不包含直接名为 cuda-toolkit-12-1 的包。通常,您会安装一个名为 cuda 或 cuda-12-1 的元包,它会作为依赖项拉入 CUDA Toolkit 的所有组件。请检查 NVIDIA 的官方文档或仓库,以确认正确的包名。

如果您正在寻找安装特定版本的 CUDA Toolkit,您可能需要安装类似 cuda-12-1 的包(如果可用),或者从 NVIDIA 的官方网站下载 CUDA Toolkit 的 .run 安装程序进行手动安装。

请确保您查看 NVIDIA 的官方文档或 Ubuntu 的 NVIDIA CUDA 仓库以获取最准确的包名和安装指令。

1726627761880_image.png

  • 出现以上情况,需要配置 NVIDIA CUDA Toolkit 12.1 系统环境变量

编辑 ~/.bashrc 文件

# 编辑 ~/.bashrc 文件
vim ~/.bashrc

插入以下环境变量

# 插入以下环境变量
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

1726627785017_image.png

激活 ~/.bashrc 文件

# 激活 ~/.bashrc 文件
source ~/.bashrc

查看cuda系统环境变量

which nvcc
nvcc -V

1726627797367_image.png

3. 安装 Miniconda

  • 下载 Miniconda 安装脚本 :
    • 使用 wget 命令从 Anaconda 的官方仓库下载 Miniconda 的安装脚本。Miniconda 是一个更小的 Anaconda 发行版,包含了 Anaconda 的核心组件,用于安装和管理 Python 包。
  • 运行 Miniconda 安装脚本 :
    • 使用 bash 命令运行下载的 Miniconda 安装脚本。这将启动 Miniconda 的安装过程。
# 下载 Miniconda 安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh# 运行 Miniconda 安装脚本
bash Miniconda3-latest-Linux-x86_64.sh# 初次安装需要激活 base 环境
source ~/.bashrc

按下回车键(enter)

1726627823409_image.png

输入yes

1726627835177_image.png

输入yes

1726627844297_image.png

安装成功如下图所示

1726627852297_image.png

pip配置清华源加速

# 编辑 /etc/pip.conf 文件
vim  /etc/pip.conf

加入以下代码

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

注意事项:

  • 请确保您的系统是 Linux x86_64 架构,因为下载的 Miniconda 版本是为该架构设计的。
  • 在运行安装脚本之前,您可能需要使用 chmod +x Miniconda3-latest-Linux-x86_64.sh 命令给予脚本执行权限。
  • 安装过程中,您将被提示是否同意许可协议,以及是否将 Miniconda 初始化。通常选择 "yes" 以完成安装和初始化。
  • 安装完成后,您可以使用 conda 命令来管理 Python 环境和包。
  • 如果链接无法访问或解析失败,可能是因为网络问题或链接本身的问题。请检查网络连接,并确保链接是最新的和有效的。如果问题依旧,请访问 Anaconda 的官方网站获取最新的下载链接。

3. 从 github 仓库 克隆项目

  • 克隆存储库:
# 克隆项目
git clone https://github.com/BMPixel/moffee.git

1727337352142_a2fa7649_12276338.png

出现以上页面,说明无法访问 GitHub 官网,使用 国内镜像 进行项目克隆

# 克隆项目
git clone https://gitee.com/empty-snow/moffee.git

1727337355870_5ade5503_12276338.png

出现以上页面即是克隆项目成功!

请注意,如果 git clone https://github.com/BMPixel/moffee 这个链接不存在或者无效,git clone 命令将不会成功克隆项目,并且会报错。确保链接是有效的,并且您有足够的权限访问该存储库。

4. 创建虚拟环境

# 创建一个名为 moffee 的新虚拟环境,并指定 Python 版本为 3.10
conda create --name moffee python=3.10 -y

1727337360869_61117653_12276338.png

安装完成

1727337364467_324e5b8f_12276338.png

5. 安装模型依赖库

  • 切换到项目目录、激活 HivisionIDPhotos 虚拟环境、安装 requirements.txt 依赖
# 切换到项目工作目录
cd /moffee# 激活 moffee 虚拟环境
conda activate moffee# 在 moffee 环境中安装依赖
pip install moffee

依赖安装成功如下图所示:

1727337369800_b7d1707a_12276338.png

6. 运行 README.md 文件

# 运行文件
moffee live README.md

1727337377924_5dea92fb_12276338.png

出现以上页面,即是模型已搭建完成。

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

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

相关文章

MyBatis学习笔记(一)

一、介绍 (一)什么是框架及优势 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。…

【MySQL系列】字符集设置

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

白杨SEO:百度在降低个人备案类网站搜索关键词排名和流量?怎样应对?【参考】

很久没有写百度或者网站这块内容了,一是因为做百度网站朋友越来越少,不管是个人还是企业;二是百度上用户搜索与百度给到网站的流量都越来越少。 为什么想到今天又来写这个呢?因为上个月有个朋友来咨询我说网站百度排名全没了&…

Edge浏览器打开PDF无法显示电子签章

Edge浏览器打开PDF无法显示电子签章 直接说处理方式 直接说处理方式 浏览器地址栏,输入 edge://flags/搜索:pdf禁用:New PDF Viewer效果如下

2024年【汽车修理工(高级)】考试总结及汽车修理工(高级)试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 汽车修理工(高级)考试总结是安全生产模拟考试一点通总题库中生成的一套汽车修理工(高级)试题及解析,安全生产模拟考试一点通上汽车修理工(高级&a…

Redis内存管理——针对实习面试

目录 Redis内存管理Redis的内存淘汰机制有哪些?说说过期的数据的删除策略?Redis是如何判断数据是否过期的?Redis如何处理大Key问题? Redis内存管理 Redis的内存淘汰机制有哪些? Redis的内存淘汰机制主要包括以下几种策略: noev…

2024年中国工业大模型行业发展研究报告|附43页PDF文件下载

工业大模型伴随着大模型技术的发展,逐渐渗透至工业,处于萌芽阶段。 就大模型的本质而言,是由一系列参数化的数学函数组成的计算系统,且是一个概率模型,其工作机制是基于概率和统计推动进行的,而非真正的理解…

hhdb数据库介绍(2-1)

数据库基础服务 HHDB Server支持MySQL原生通讯协议,支持数据定义、数据操作、分区表、数据库管理语句、事务、锁、字符集与校对集等常用数据库基础服务。其中在数据操作中解决了跨库查询和跨库数据排序等难点问题。并支持强一致事务与跨库死锁检测。 数据定义 支…

道品科技的水肥一体化智能灌溉:开启现代农业的创新征程

水肥一体化智能灌溉作为一种现代农业技术,其通过对水分与养分供应的有效整合,致力于营造作物的最佳生长环境。此项技术的核心要义在于凭借智能化系统精准把控灌溉与施肥的流程,进而提升水资源的利用效率,降低肥料的浪费程度&#…

微信小程序开发,诗词鉴赏app,诗词搜索实现(三)

微信小程序开发,诗词鉴赏app(一): https://blog.csdn.net/jky_yihuangxing/article/details/143501681微信小程序开发,诗词鉴赏app,诗词推荐实现(二):https://blog.csdn.net/jky_yih…

【前端】JavaScript 方法速查大全-函数、正则、格式化、转换、进制、 XSS 转义(四)

🔥 前言 在现代前端开发中,JavaScript 是不可或缺的语言。无论是处理数据、操作 DOM,还是进行复杂的逻辑运算,掌握 JavaScript 的各种方法都是每位开发者的必修课。本文将为您提供一个全面、系统的 JavaScript 方法参考&#xff…

C语言void *特殊的指针类型:使用

一: 1通用指针类型 void * 表示无类型指针,它可以指向任何类型的数据对象。与其他具体类型的指针(如 int *、char * 等)不同,void * 指针不指向特定类型的数据,因此在使用时需要进行适当的类型转换。 2…

浅谈风力发电并网系统的控制和优化策略

0引言 风能作为一种可再生资源,以其低污染和巨大储量的优势备受青睐。近年来,随着绿色发展战略的持续推进,我国在风力发电技术领域取得了显著成就。风力发电的总装机容量和并网规模持续增长,为农业生产和居民生活提供了丰富的电力…

对想从事大模型领域的技术开发者的建议或看法

“ 学习技术之前,我们首先要搞明白的是我们想要什么,想做什么,而不是稀里糊涂的去学习技术**”** 大模型技术作为目前比较火的技术之一,有很多技术人员想从事大模型方面的开发,但又不知道该怎么入手,应该学…

433、315通信、ev1527、2262编码

目录 ASK介绍EV1527编码芯片介绍模块介绍无线发射芯片无线接收芯片解码程序发射电路原理图 ASK介绍 ASK是幅移键控,通过调幅将数据发送出去,所以发送与接收都是多位二进制数。 ASK如何区分0和1? 0:发送 433.92Mhz 无线波形&…

面向生成式 AI 的向量数据库:架构,性能与未来趋势

导读 向量数据库是高效处理和准确检索高维数据的基石,对于生成式 AI 技术而言至关重要。本文将分享向量数据库的架构设计和实现中的关键点。 主要分为五个方面: 向量数据库背景介绍 Milvus 整体架构设计 性能的关键-索引 面向 AI 持续进化 01 向量…

vulhub之zabbix

zabbix是一款服务器监控软件,其由server、agent、web等模块组成,其中web模块由PHP编写,用来显示数据库中的结果。能够监控各种网络参数以及服务器健康性和完整性。 zabbix的详细介绍: https://blog.csdn.net/wt334502157/article/details/117994107 zabbix latest.php S…

介绍一下如何生成随机数(c基础)

适合对象 c语言初学者 总结语言用色&#xff0c;个人强调用红色&#xff0c;注意为易错点&#xff0c;若有问题请告诉我谢谢。(建议通过目录观看)。一定要自己动手打代码。 rand函数 是生成随机数的函数&#xff0c;但实则是伪随机数。(即是同一个值) 格式 #include<st…

java案例6-1库存管理系统

【案例介绍】 1.任务描述 像商城和超市这样的地方&#xff0c;都需要有自己的库房&#xff0c;并且库房商品的库存变化有专人记录&#xff0c;这样才能保证商城和超市正常运转。 本例要求编写一个程序&#xff0c;模拟库存管理系统。该系统主要包括系统首页、商品入库、商品显示…

【嵌入式Linux】Linux设备树详解

设备树是是Linux中一种用于描述硬件配置的数据结构&#xff0c;它在系统启动时提供给内核&#xff0c;以便内核能够识别和配置硬件资源。设备树在嵌入式Linux系统中尤其重要&#xff0c;因为这些系统通常不具备标准的硬件配置&#xff0c;需要根据实际的硬件配置来动态配置内核…