机器学习入门
简介
https://huggingface.co/是一个AI社区,类似于github的地位。它开源了许多机器学习需要的基础组件如:Transformers, Tokenizers等。
许多公司也在不断地往上面提交新的模型和数据集,利用它你可以获取以下内容:
- Datasets : 数据集
- Models : 预训练好的模型
- Docs : 各种文档。
名词解释
| 名词 | 解释 |
|---|---|
| NLP | Natural Language Processing(自然语言处理)是一种人工智能技术,用于使计算机能够理解、解析和生成人类语言 |
| 计算图 | 在机器学习和深度学习中用于描述计算过程的图结构。它由节点(Node)和边(Edge)组成,节点表示计算操作(矩阵乘法、卷积、激活函数等),边表示数据流向(数据在节点之间的传递和依赖关系)。 |
| 动态图 | 在运行时动态构建和执行计算图的方式,可以在每个计算步骤中动态地定义、修改和执行计算节点。这 种方式使得模型的开发和调试更加灵活和直观,可以方便地使用控制流语句和条件语句,更容易进行动态的模型结构调整和组合 |
| 静态图 | 在编译时构建和优化计算图的方式,计算图的定义和执行是分离的,首先需要定义计算图的结构,然后通过编译和优化过程生成可执行的计算图 |
| PyTorch | 一个开源的深度学习框架,以动态图的方式进行计算图的构建和执行。它提供了丰富的工具和库,使得在Python环境中进行张量计算和构建神经网络更加简单和高效 |
| TensorFlow | 一个开源的深度学习框架,以静态图的方式进行计算图的构建和执行。它具有广泛的生态系统和强大的分布式计算支持,适用于大规模模型训练和部署 |
| JAX | 一个用于高性能数值计算和机器学习的开源库。它结合了NumPy的易用性和灵活性,以及XLA的自动加速能力。JAX支持自动微分和GPU加速,适合构建高性能的机器 学习模型 |
| Transformers | 一个在NLP领域中广泛使用的模型架构,用于处理文本相关的任务。提供API和工具,可轻松下载和训练训练模型,并支持PyTorch、TensorFlow和JAX之间的框架互操作性 |
| conda | 跨平台且支持多语言的软件包管理系统,它可以安装、更新和删除各种编程语言的软件包,并支持环境隔离 |
| CUDA | (Compute Unified Device Architecture)是一种并行计算平台和编程模型,由NVIDIA开发。它允许开发者使用NVIDIA GPU(图形 处理器)进行通用目的的并行计算。 |
环境安装
conda
conda用于对包进行环境管理,分为三个版本:
- Anacoda : 用于科学计算,包含了Vonda、Python和超过150个可选软件包及其依赖项。
- Miniconda : Anaconda 的轻量级版本,只包含了 Python 和 Conda,以及它们的依赖项
- Conda : 只包含自身。
可以去国内镜像站下载: https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
或者去官网下载:https://docs.conda.io/projects/miniconda/en/latest/
使用文档:https://conda.io/projects/conda/en/latest/user-guide/getting-started.html
安装
# 去https://repo.anaconda.com/miniconda上查找匹配的python版本
wget https://repo.anaconda.com/miniconda/Miniconda3-py39_23.10.0-1-Linux-x86_64.sh
chmod +x Miniconda3-py39_23.10.0-1-Linux-x86_64.sh
./Miniconda3-py39_23.10.0-1-Linux-x86_64.sh -b -f -p <install director>
常用命令
conda --verison
conda update conda
where conda
# 查看环境
conda info --envs
# 创建myEnvName环境,并安装python包,如果不指定版本,则使用的是conda中的python版本
conda create --name myEnvName python=3.9
conda activate myEnvName
conda remove --name myEnvName --all
# 查找和安装软件包
conda search transformers
conda install transformers
conda list
# 查看conda配置
conda config --set show_channel_urls yes #生成配置文件
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --show channels
conda info | grep -i config
vim ~/.condarc
配置代理
vim .condarc (windows下必须是gbk编码)
channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults
show_channel_urls: true
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pip
在配置完conda进行环境隔离后,除了使用conda去安装依赖包之外,也可以使用python自带的pip(会自动使用conda env下的pip)管理工具。
# pip install <package>[(==|>=)<version>] [-i mirror url]
pip install transformers==4.30.2 -i https://mirrors.aliyun.com/pypi/simple/
# 一次下载文件中写的依赖,每个依赖占一行
pip install -r requirements.txt
常用工具
在线测试模型环境:https://colab.research.google.com/
# 查看gpu情况
nvidia-smi
相关文章:
机器学习入门
简介 https://huggingface.co/是一个AI社区,类似于github的地位。它开源了许多机器学习需要的基础组件如:Transformers, Tokenizers等。 许多公司也在不断地往上面提交新的模型和数据集,利用它你可以获取以下内容: Datasets : 数…...
HarmonyOS ArkTS 保存应用数据(十)
1 概述 在移动互联网蓬勃发展的今天,移动应用给我们生活带来了极大的便利,这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置,HarmonyOS应用开发也不例外。 2 什么是首选项 首选项为应用提供Key-Value键…...
【JavaEE】Spring更简单的存储和获取对象(类注解、方法注解、属性注入、Setter注入、构造方法注入)
一、存储Bean对象 在这篇文章中我介绍了Spring最简单的创建和使用:Spring的创建和使用 其中存储Bean对象是这样的: 1.1 配置扫描路径 想要成功把对象存到Spring中,我们需要配置对象的扫描包路径 这样的话,就只有被配置了的包…...
linux上的通用拍照程序
最近因为工作需要,在ubuntu上开发了一个拍照程序。 为了找到合适的功能研究了好几种实现方式,在这里记录一下。 目录 太长不看版 探索过程 v4l2 QT opencv4.2 打开摄像头 为什么不直接打开第一个视频节点 获取所有分辨率 切换摄像头 太长不看…...
代码随想录-刷题第七天
454. 四数相加II 题目链接:454. 四数相加II 思路:哈希法。使用map集合,key存放ab的值,value存放ab出现的次数。使用两层循环,循环前两个数组,找出ab,对map赋值。再用两层循环,遍历…...
C# 获取图像、字体等对象大小的数据结构SizeF
如果你想要获取字符串 "你好吗" 的字节数组长度或者字符数, 使用如下代码: string s "你好吗"; //字节数组长度 int byteCount System.Text.Encoding.UTF8.GetBytes(s).Length; //字符数 int charCount s.Length; 如果你想获取…...
「 系统设计 」 为什么要做架构分层?
「 系统设计 」 为什么要做架构分层? 参考&鸣谢 3.设计模式之分层思维:为什么要做代码分层架构? 从零开始学架构(八)分层架构和设计模式 架构模式之分层架构总结 文章目录 「 系统设计 」 为什么要做架构分层&…...
4:kotlin 方法(Functions)
想要声明一个函数需要使用fun关键字 fun hello() {return println("Hello, world!") }fun main() {hello()// Hello, world! }格式: fun 方法名(参数1: 参数1类型, 参数2 : 参数2类型, ...): 返回值类型 {方法体return 返回值 }fun 方法名(参数1: 参数1类型, 参数2…...
Pycharm run 输出界面控制一行能够输出的元素个数
Pycharm run 输出界面控制一行能够输出的元素个数 今天遇到了一个问题,当我们在 Pycharm 中打印输出数组时,如果数组一行的元素个数过多,那么我们在打印时就会出现以下问题。 代码如下: import numpy as npx np.array([[0., 0.7…...
C++初级项目webserver项目流程介绍(2)
一、引言 C的webserver项目是自己在学完网络编程后根据网课的内容做的一个初级的网络编程项目。 这个项目的效果是可以在浏览器通过输入网络IP地址和端口,然后打开对应的文件目录 效果如下: 也可以打开文件夹后点击目录,打开到对应的文件夹…...
SIPp mac和debian用法可能略有差别
<ereg regexp"<(.*)>" search_in"hdr" header"Contact:" check_it"true" assign_to"dummy,remote_contact"/> debian没事,但mac报错 <变< >变> 就都冇问题了 https://github.…...
echarts的横向柱状图文字省略,鼠标移入显示内容 vue3
效果图 文字省略 提示 如果是在x轴上的,就在x轴上添加triggerEvent: true,如果是y轴就在y轴添加,我是在y轴上添加的 并且自定义的方法(我取名为extension) // echarts 横向省略文字 鼠标移入显示内容 export const extension…...
laravel8安装多应用多模块(笔记三)
先安装laravel8 Laravel 安装(笔记一)-CSDN博客 一、进入项目根目录安装 laravel-modules composer require nwidart/laravel-modules 二、 大于laravel5需配置provider,自动生成配置文件 php artisan vendor:publish --provider"Nwid…...
Vue组件的几种通信方式
这里写目录标题 Vue组件的几种通信(数据传递)方式非父子组件间通信(Bus事件总线)介绍实例 非父子通信-provide&inject1.作用2.场景3.语法4.注意 父子组件间的通信固定props属性名(v-model)介绍实例 不固…...
golang panic关键词执行原理与代码分析
使用的go版本为 go1.21.2 首先我们写一个简单的panic调度与捕获代码 package mainfunc main() {defer func() {recover()}()panic("panic test") }通过go build -gcflags -S main.go获取到对应的汇编代码 可以看到当我们调度panic时,Go的编译器会将这段…...
Error running Tomcat8: Address localhost:1099 is already in use 错误解决
摘要: 有时候运行web项目的时候会遇到 Error running Tomcat8: Address localhost:1099 is already in use 的错误,导致web项目无法运行。这篇 blog 介绍了解决办法。 有时候运行web项目的时候会遇到 Error running Tomcat8: Address localhost:1099 is already in …...
android studio如何给安卓虚拟机发送短信
首先,cd到指定路径 默认情况下,Android SDK通常安装在以下位置: Windows:C:\Users\YourUsername\AppData\Local\Android\Sdk\platform-toolsmacOS:/Users/YourUsername/Library/Android/sdk/platform-toolsLinux&…...
立体仓库PLC控制系统子站诊断功能块
// //获取profinet网络已组态站信息 // //MODE:0自动辨识是获取组态信息还是错误信息 //MODE:1获取IO 设备从站已组态 //MODE:2获取IO 设备 从站故障 //MODE:3获取IO 设备 从站已禁用 //MODE:4获取IO 设备 从站存在 //MODE:5获取IO 设备 从站出现问题 // //站点状态字节位含义 …...
NFT Insider115:The Sandbox开设元宇宙Diorama快闪店,YGG Web3 游戏峰会已开幕
引言:NFT Insider由NFT收藏组织WHALE Members、BeepCrypto联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周报将从NFT市场数据,艺术新闻类,游戏新闻类,虚拟世界类&#…...
【Redis篇】简述Java中操作Redis的方法
文章目录 🎄简述Jedis🎄Jedis优点🍔使用Jedis连接Redis⭐进行测试🎈进行测试 Redis(Remote Dictionary Server)是一种流行的高性能内存数据库,广泛应用于各种应用程序和系统中。作为Java开发人员…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
