机器学习入门
简介
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开发人员…...
Android12 展锐sl8541平台USB转串口驱动集成与SELinux权限实战解析
1. 硬件电路与引脚配置 在展锐sl8541平台上集成USB转串口功能,第一步需要确保硬件电路设计正确。Type-C接口的ID引脚连接到了CPU的KEYIN2/EXTINT4/GPIO126引脚,这个引脚的状态决定了USB的工作模式(主机模式或设备模式)。实际项目中…...
MySQL 大批量数据清理时,NineData 比 GitHub 脚本更适合生产环境?
做 MySQL 大批量数据清理时,很多人的第一反应是去 GitHub 找脚本,或者自己写一段 Python、Shell、存储过程来分批删数据。这种做法很常见,也确实能解决一部分问题。但当场景进入生产环境,关注点通常会从“能不能删”转向“怎么更平…...
如何用OBS高级计时器彻底解决直播时间管理难题:6种模式的完整指南
如何用OBS高级计时器彻底解决直播时间管理难题:6种模式的完整指南 【免费下载链接】obs-advanced-timer 项目地址: https://gitcode.com/gh_mirrors/ob/obs-advanced-timer 还在为直播时手忙脚乱看时间而烦恼吗?OBS Advanced Timer计时器插件是你…...
CoolProp开源热力学计算库:工程师必备的120+流体物性数据解决方案
CoolProp开源热力学计算库:工程师必备的120流体物性数据解决方案 【免费下载链接】CoolProp Thermophysical properties for the masses 项目地址: https://gitcode.com/gh_mirrors/co/CoolProp 在现代工程设计和科学研究中,热力学物性数据的准确…...
保姆级教程:用ADB给海信电视LED55N3000U做‘瘦身手术’,安全卸载预装软件
海信电视LED55N3000U系统优化实战:ADB安全卸载预装应用指南 当智能电视用久了,系统卡顿、存储空间不足的问题总会不期而至。特别是像海信LED55N3000U这样的机型,VIDAA系统预装的各种应用不仅占用宝贵存储,还可能后台运行消耗资源。…...
别再混用了!C语言sprintf、snprintf、sprintf_s安全编码避坑指南(附Linux/Windows差异)
C语言字符串格式化函数安全实践:从sprintf到现代替代方案 引言 在C语言开发中,字符串格式化操作既是日常必需,也是潜在的安全隐患源头。许多开发者对sprintf、snprintf等函数的使用存在诸多误区,特别是在跨平台开发和安全性要求较…...
假期机器学习实战书单:从入门到精通的指南
1. 假期机器学习书单:从入门到精通的实战指南又到了年末假期季,对于技术人来说,这段时间最适合静下心来系统学习新技能。作为从业多年的机器学习工程师,我每年都会收到大量关于"如何选择机器学习书籍"的咨询。不同于市面…...
XUnity.AutoTranslator完整指南:为Unity游戏开启实时翻译新时代
XUnity.AutoTranslator完整指南:为Unity游戏开启实时翻译新时代 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 想要畅玩日系游戏却苦于语言障碍?XUnity.AutoTranslator就是你的终…...
别再死记硬背了!用Python模拟器5分钟搞懂Modbus RTU/ASCII协议帧
别再死记硬背了!用Python模拟器5分钟搞懂Modbus RTU/ASCII协议帧 理解Modbus协议的核心难点在于抽象概念与真实数据流之间的断层。传统学习方式要求先背诵帧格式表格,再通过硬件调试观察报文——这种"先理论后实践"的路径往往让初学者陷入&qu…...
告别手动配置!用RMServer Aid一键搞定RoboMaster裁判系统服务器(附MySQL 8.0.28集成版)
从零到一:RoboMaster裁判系统服务器自动化搭建全攻略 每次RoboMaster赛季来临,参赛队伍最头疼的莫过于裁判系统服务器的搭建。传统的手动配置方式不仅耗时费力,还容易因为网络设置、MySQL配置等问题导致比赛现场出现意外。我曾见过一支队伍因…...
