当前位置: 首页 > news >正文

建筑兔零基础自学python记录22|实战人脸识别项目——视频人脸识别(下)11

这次我们继续解读代码,我们主要来看下面两个部分;

至于人脸识别成功的要点我们在最后总结~

具体代码学习:

#定义人脸名称
def name():#预学习照片存放位置path = 'M:/python/workspace/PythonProject/face/'imagePaths=[os.path.join(path,f) for f in os.listdir(path)]for imagePath in imagePaths:name = str(os.path.split(imagePath)[1].split('.',2)[1])names.append(name)

(1)os.path.join()协调文件路径中'/'   '\'差异

     将多个路径组件智能地拼接成一个完整的路径。由于不同操作系统的差异,os.path.join() 可以根据当前操作系统自动处理这些差异。

补充:不同操作系统使用不同的路径分隔符。

           Windows 使用反斜杠 \,Unix/Linux 和 macOS 使用正斜杠 /

#举例:
import os# 拼接路径
path = os.path.join('home', 'user', 'documents')
print(path)
  • 在 Windows 系统上,输出可能是 home\user\documents
  • 在 Unix/Linux 或 macOS 系统上,输出为 home/user/documents

(2)os.listdir()输出某目录下所有文件名

即os.listdir(path)获得了['1.lss.jpg', '2.lss.jpg']

os.path.join()将路径M:\python\workspace\PythonProject\face替换为

M:/python/workspace/PythonProject/face/1.lss.jpg

M:/python/workspace/PythonProject/face/2.lss.jpg

  • os.path.join(path, f)这里path 是前面指定的目录路径,fos.listdir(path) 返回列表中的每个元素(即文件或文件夹名称)。
  • 代码比较长,我们来看一下这个循环的内容:

      这行代码遍历 os.listdir(path) 返回的列表,对每个文件名 调用 os.path.join(path, f) 进行路径拼接,最终将所有拼接好的完整路径组成一个新的列表。

    我们可以把整段代码的阅读顺序做如下表达:

让我们继续解读:

  for imagePath in imagePaths:name = str(os.path.split(imagePath)[1].split('.',2)[1])names.append(name) 

for imagePath in imagePaths是在刚形成的imagePath列表里自己进行循环

(3)os.path.split()将一个文件路径拆分为目录部分和文件名部分。

  • 通过上一个代码我们获取了imagePath=M:/python/workspace/PythonProject/face/1.lss.jpg
  • os.path.split(imagePath)就是把M:/python/workspace/PythonProject/face/1.lss.jpg拆为:
  • 文件目录M:/python/workspace/PythonProject/face/
  • 文件名1.lss.jpg

os.path.split(imagePath)[1]是从文件目录和文件名中获取第二个文件名,即1.lss.jpg

补充:这里的第二个元素是因为列表、元组和字符串的索引都是从 0 开始,即[0]代表首位,[1]代表第二个,以此类推。

(4)split() 将字符串按照指定的分隔符分割成多个子字符串,并返回一个包含这些子字符串的列表

str.split(sep=None, maxsplit=-1)
  • sep:可选参数,指定分隔符。如果不提供该参数,默认使用空白字符(空格、制表符、换行符等)作为分隔符。
  • maxsplit:可选参数,指定最大分割次数。如果不提供该参数,表示不限制分割次数。

  • split('.', 2)的含义就是分隔符为 . 最多分隔2次。

  • '1.lss.jpg' 调用 split( ) 后,会得到列表 ['1', 'lss', 'jpg']

  • split('.',2)[1]这里从文件名1.lss.jpg中取出第二个元素,即lss

整行代码解读为:

(5)append()在列表的末尾添加一个新元素

list.append(object)
  • list:表示要操作的列表对象。
  • object:表示要添加到列表末尾的任意 Python 对象,比如字符串、整数、列表、元组等。

names.append(name)这里就是把开头创建的names列表填进了内容name

解读主函数:

内容我们都学过,就直接标注了

#打开视频test3.mp4读取每一帧
cap=cv2.VideoCapture('test3.mp4')
#调用自定义name函数
name()
while True:#读取视频里的帧flag,frame=cap.read()#如果没有帧则中断if not flag:break#调用自定义face_detect_demo函数,进行人脸识别和标注face_detect_demo(frame)if ord(' ') == cv2.waitKey(10):break

 (5)全部代码解读为:

import cv2
#导入与操作系统交互 os 模块
import os#创建一个 LBPH(局部二值模式直方图)人脸识别器对象,用于训练和识别人脸。
recogizer=cv2.face.LBPHFaceRecognizer_create()
#读取训练好的人脸识别模型yml文件
recogizer.read('M:/python/workspace/PythonProject/trainer/trainer.yml')
#初始化一个空列表names,用于存储人脸对应的名称。
names=[]
#初始化一个全局变量warningtime,用于记录未知人脸出现的次数。
warningtime = 1#自定义人脸识别
def face_detect_demo(img):#彩图转化为灰图gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#调用人脸识别分类器face_detector=cv2.CascadeClassifier('M:/python/pythoninstall/Lib/site-packages/cv2/data/haarcascade_frontalface_alt.xml')#灰图中检测人脸face=face_detector.detectMultiScale(gray)for x,y,w,h in face:#原彩图中用红色矩形框人脸cv2.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)#人脸中心画绿圆cv2.circle(img,center=(x+w//2,y+h//2),radius=w//2,color=(0,255,0),thickness=1)#识别输入人脸,获取标签ids,置信度confidenceids, confidence = recogizer.predict(gray[y:y + h, x:x + w])#如果置信度confidence>80if confidence > 80:#warningtime作为全局变量global warningtime#每次出现都+1warningtime += 1#控制台输出warningtime=,值为warningtimeprint('warningtime=',warningtime)#图像上绘制文本,文本是unknown,位置是x向右偏移10个像素。y向上偏移10个像素,字体无衬线,字体大小0.75,绿色cv2.putText(img, 'unknown', (x + 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 1)else:#图像上绘制文本,文本是names列表中的,其余同上#坐标移动规律:+ 号撒腿右下跑,- 号转身左上飘cv2.putText(img,str(names[ids - 1]), (x + 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 1)#弹出窗口名为resultcv2.imshow('result',img)#定义人脸名称
def name():#预学习照片存放位置path = 'M:/python/workspace/PythonProject/face/'#获取path路径下文件名,将文件名+路径拼接完整路径,将完整路径存到imagePaths中imagePaths=[os.path.join(path,f) for f in os.listdir(path)]for imagePath in imagePaths:#获取文件名中的一部分作为name,即name=lssname = str(os.path.split(imagePath)[1].split('.',2)[1])#将提取出的人脸名称 name 添加到 names 列表中names.append(name)#打开视频test3.mp4读取每一帧
cap=cv2.VideoCapture('test3.mp4')
#调用自定义name函数
name()
while True:#读取视频里的帧flag,frame=cap.read()#如果没有帧则中断if not flag:break#调用自定义face_detect_demo函数,进行人脸识别和标注face_detect_demo(frame)if ord(' ') == cv2.waitKey(10):breakcv2.destroyAllWindows()
cap.release()
print(names)

(6)人脸识别成功的要点

   本次识别我们用两张人像即实现了人脸识别,这有赖于LBPH分类器的局部特征特性,少量图片即可识别。同时在素材选择中刻意选择了差异较大的人物,且目标人像的角度基本一致而检测任务则为其他角度。如果想提升识别准确性目前我所了解的一个是提升训练样本量,更改分类器或者用其他方式进行识别。在实验中我尝试了用130多张图用LBPH分类器,但训练效果不佳。所以目前的成果对于材料的选择有较高的要求。

(7)补充[]和()的区别

  1. 方括号 [] 用于表示列表(list)。列表是一种可变的、有序的数据集合,列表支持元素的添加、删除、修改等操作
  2. 方括号 [] 用于索引和切片操作
my_list = [1, 'apple', True]my_list = [1, 2, 3, 4, 5]
# 索引操作,获取第一个元素
first_element = my_list[0]# 切片操作,获取第 2 到第 4 个元素
sub_list = my_list[1:4]
print(sub_list)  # 输出: [2, 3, 4]my_tuple = (1, 2, 3, 4, 5)
# 元组的索引操作
first_tuple_element = my_tuple[0]
print(first_tuple_element)  # 输出: 1squares = [i**2 for i in range(1, 6)]
  1. 圆括号 () 用于表示元组(tuple)。元组是一种不可变的、有序的数据集合,一旦创建就不能修改其元素
  2. 圆括号 () 用于函数调用。调用函数时,需要使用圆括号将参数括起来。如果函数不需要参数,也需要使用空的圆括号。
my_tuple = (1, 'apple', True)def greet(name):def say_hi():

综上大部分情况都使用圆括号()

(8)总结

  • os.path.join()协调文件路径中/\差异
  • os.listdir()输出某目录下所有文件名
  • os.path.split()将一个文件路径拆分为目录部分和文件名部分
  • split() 将字符串按照指定的分隔符分割成多个子字符串,并返回一个包含这些子字符串的列表
  • append()在列表的末尾添加一个新元素

相关文章:

建筑兔零基础自学python记录22|实战人脸识别项目——视频人脸识别(下)11

这次我们继续解读代码,我们主要来看下面两个部分; 至于人脸识别成功的要点我们在最后总结~ 具体代码学习: #定义人脸名称 def name():#预学习照片存放位置path M:/python/workspace/PythonProject/face/imagePaths[os.path.join(path,f) f…...

全球化趋势下中资企业出海投资及合规运营实战分享

企业全球化布局需构建“战略-架构-合规-运营”四位一体体系,通过灵活的投资架构、精准的税务规划、本土化运营和ESG融合,实现风险可控的海外扩张。核心策略包括: 供应链多节点布局(至少3个国家备份产能);融…...

2025-2-19 leetcode刷题情况(二叉树)

一、226.翻转二叉树 1.题目描述 给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点 2.代码 3.思路 递归遍历(DFS)交换每个节点的左 / 右子节点,即可生成二叉树的镜像。 递归解析: 终止条件&a…...

Linux常见命令

文件和目录操作命令 cd:用于切换目录。例如,cd /home/user 可进入 /home/user 目录;cd.. 可返回上一级目录。ls:用于列出目录内容。ls 直接列出当前目录下的文件和文件夹;ls -l 以详细列表形式显示;ls -a 显…...

C++ 一篇读懂“值传递”和“地址传递”

让我们通过一个简单的、形象的比喻来帮助你理解“值传递”和“地址传递”是如何影响实参的。 1. 值传递 想象你有一个 **信封**(代表变量),里面放着一张纸条(代表数据)。你决定把这个信封寄给一个朋友,让他…...

我用AI做数据分析之数据清洗

我用AI做数据分析之数据清洗 AI与数据分析的融合效果怎样? 这里描述自己在使用AI进行数据分析(数据清洗)过程中的几个小故事: 1. 变量名的翻译 有一个项目是某医生自己收集的数据,变量名使用的是中文,分…...

韩国哈希散列算法DHA-256

韩国哈希散列算法DHA-256 DHA-256是在2005年11月由NIST举行的Hash研讨会(Cryptographic Hash Workshop)上提出的。DHA-256压缩函数将长度为512比特的分组,压缩成长度为256比特的串,总共迭代64步,扩展的消息字在步函数中使用了两次。 DHA-25…...

【愚公系列】《Python网络爬虫从入门到精通》022-Splash的爬虫应用

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...

Golang深度学习

前言 在2009年,Google公司发布了一种新的编程语言,名为Go(或称为Golang),旨在提高编程效率、简化并发编程,并提供强大的标准库支持。Go语言的设计者们希望通过Go语言能够解决软件开发中的一些长期存在的问…...

React(8)

封装评论列表的Item组件 实现父传子以及子组件调用父组件方法 import { useEffect, useState } from "react"; import "./index.css"; import _ from "lodash"; import classNames from "classnames"; import axios from "axio…...

自制AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有iPhone

苹果的AirTag很贵,虽然某强北有平价代替品,但是仍需要苹果设备才能绑定,才能查看位置。不支持安卓/鸿蒙/PC,也不支持集成到Home Assistant中。 AirTag 的原理 每个AirTag都会发送一个蓝牙信号,其可以被临近的苹果设备…...

docker修改镜像默认存储路径(基于页面迁移)

文章目录 1、停止服务2、拷贝镜像3、docker界面设置路径4、重新启动服务5、重启电脑 1、停止服务 桌面底部右键打开任务管理器 停止docker服务 2、拷贝镜像 从原目录拷贝到新的目录下,新的目录自己定,如果没有权限,需要先对原文件添加权限…...

10. 软件设计架构-经典架构问题

文章目录 前言一、高并发场景下的系统崩溃1. 问题描述2. 解决方案:3. 案例分析:电商秒杀系统 二、单体架构到微服务的拆分陷阱1. 问题描述2. 解决方案:3. 案例分析:在线教育平台拆分 三、分布式系统中的数据一致性难题1. 问题描述…...

Qt学习(五)自定义对话框,多窗口开发---添加设计师类, MDI多窗口开发

一 对话框 实现功能&#xff1a;打开文件&#xff0c;选择目录&#xff0c;保存文件&#xff0c;选择颜色&#xff0c;选择字体&#xff0c;输入信息&#xff0c; 消息提示框 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE na…...

【部署优化篇三】《DeepSeek边缘计算实战:把目标检测模型塞进树莓派,让AI在巴掌大的设备上“开天眼“》

“谁说只有超级计算机才能跑AI?今天咱们就要在树莓派上玩转DeepSeek目标检测,让这个巴掌大的小盒子变成会‘看’世界的智能终端!” 本文手把手教你从零开始,把最潮的目标检测模型塞进树莓派。全程高能预警,建议准备好你的树莓派4B/5和散热风扇,咱们这就开启边缘计算的魔法…...

深入浅出CSS复合选择器:掌控元素关系与层级选择

目录 前言 一、子代选择器&#xff08;Descendant Selector&#xff09; 1. 什么是子代选择器&#xff1f; 2. 基本语法 3. 示例 4. 注意事项 二、直接子元素选择器&#xff08;Child Selector&#xff09; 1. 什么是直接子元素选择器&#xff1f; 2. 基本语法 3. 示例…...

LLM 推理中推理-时间计算技巧

25年2月来自香港科技大学广州分校的论文“Bag of Tricks for Inference-time Computation of LLM Reasoning”。 随着大语言模型 (LLM) 的进步&#xff0c;解决复杂的推理任务越来越受到关注。推理-时间计算方法&#xff08;例如 Best-of-N、波束搜索等&#xff09;特别有价值…...

【模板】图论 最短路 (Floyd+SPFA+Dijkstra)

FloydSPFADijkstra 温故而知新&#xff0c;这三种算法都是求最短路问题常用的算法&#xff08;特别是Dijkstra) 1.Floyd &#xff08;多源最短路&#xff09; 基于动态规划思想&#xff0c;时间复杂度为 O ( N 3 ) O(N^3) O(N3) 较高。 注意点&#xff1a; 初始化距离为INF…...

vite-vue-ts使用arco-design-vue定制主题的后动态变更主题思路

定制主题的后动态变更主题思路 安装依赖与主题定制动态变更主题过程尝试修改主题色&#xff08;结果失败&#xff09;尝试修改主题色&#xff08;结果成功&#xff0c;但是hover的主题色没有变&#xff0c;未覆盖10个梯度的色值&#xff09;根据主题色实现10个梯度颜色实现10个…...

递归爬取网页测试

我们正在做基于大模型的数据分析平台。 当前需要测试ezdata的递归爬取功能&#xff0c;爬取到第几层 测试网址 https://blog.csdn.net/m0_68177611/article/details/144936089...

【论文学习】RVS-FDSC:一种基于四方向条带卷积的视网膜血管分割方法以增强特征提取

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言论文论文内容RSC模块MSPF2 模块RPDA模块 实验效果 总结互动致谢参考往期回顾 前言…...

交友项目-交友软件简介

一、 项目背景 在线社交是互联网时代的产物&#xff0c;已成为互联网用户的基础需求之一。移动互联网自2003年起快速发展&#xff0c;促使在线社交逐渐从PC端转移至移动端。移动社交最初以熟人社交为主&#xff0c;以维系熟人关系、共享资源信息的形式存在。随着人们交友需求的…...

新手向:SpringBoot后端查询到数据,前端404?(附联调时各传参方式注解总结-带你一文搞定联调参数)

前言&#xff1a; 在 Spring Boot 项目开发中&#xff0c;后端小伙伴可能经常遇到这样诡异的场景&#xff1a; 后台日志显示查询到了数据&#xff0c;但前端却一脸懵逼地告诉你 404 Not Found&#xff1f;接口明明写好了&#xff0c;Postman 直接访问却提示找不到&#xff1f…...

Elasticsearch7.6.2 安装过程

一. 安装JDK1.8 &#xff08;1&#xff09;创建安装目录 mkdir /usr/local/java/ &#xff08;2&#xff09;解压至安装目录 tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local/java/ &#xff08;3&#xff09;设置环境变量 vim /etc/profile 在末尾添加 export JA…...

汇能感知的光谱相机/模块产品有哪些?

CM020A 分辨率&#xff1a;1600H1200V 光谱范围&#xff1a;350~950nm 光谱分辨率&#xff1a;1nm 接口&#xff1a;USB2.0 帧率&#xff1a;16001200 (6帧) 输出格式&#xff1a;Raw 8bit FOV&#xff1a;D73.5H58.8V44.1 相机尺寸&#xff1a;505055mm VM02S10 分辨率…...

【机器学习】K折交叉验证(K-Fold Cross-Validation)

文章目录 K折交叉验证步骤详解一. 核心目标二. 具体步骤与操作三. 关键变体与场景适配3.1 分层K折交叉验证3.2 时间序列K折交叉验证3.3 留一法&#xff08;LOO&#xff09;3.4 重复K折交叉验证 四. 实践注意事项五. Python代码示例六. 总结 K折交叉验证步骤详解 一. 核心目标 …...

【核心算法篇十九】《 DeepSeek因果推断:双重差分模型如何破解政策评估的「时空难题」》

一、当AB实验不可行时,我们该相信什么?(因果推断困局解析) 假设某城市推出「夜间地铁免费」政策,市长想知道这个政策是否真的提升了夜间经济。这时候你会发现: 1️⃣ 无法克隆城市:不能同时存在一个「实施政策」和「不实施政策」的平行宇宙 2️⃣ 数据混杂严重:疫情反…...

使用vue3框架vue-next-admin导出列表数据

在 Vue3 中实现 Excel 导出功能可以通过以下步骤完成&#xff0c;这里使用 xlsx 库来实现前端 Excel 导出&#xff1a; 1. 安装依赖 npm install xlsx file-saver # 或 yarn add xlsx file-saver2. 实现代码示例 需要在当前页引入 import * as XLSX from "xlsx";注…...

机器学习(1)安装Pytorch

1.安装命令 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 2.安装过程Log&#xff1a; Looking in indexes: https://download.pytorch.org/whl/cu118 Co…...

讯方·智汇云校华为官方授权培训机构

1.官方授权 讯方智汇云校是华为领先级授权培训机构&#xff08;华为授权培训合作伙伴&#xff08;HALP&#xff09;体系&#xff0c;分为认证、优选、领先三个等级&#xff0c;领先级是HALP最高级&#xff09;&#xff0c;代表着华为对培训合作伙伴在专业能力、师资队伍、合作…...

彻底理解零拷贝技术,zero-copy

计算机处理的任务大体可以分为两类&#xff1a;CPU密集型与IO密集型。当前流行的互联网应用更多的属于IO密集型&#xff0c;传统的IO标准接口都是基于数据拷贝的&#xff0c;这篇文章我们主要关注该怎样从数据拷贝的角度来优化IO性能&#xff0c;让你的程序在IO性能方面赶超P8。…...

使用 MySQL 从 JSON 字符串提取数据

使用 MySQL 从 JSON 字符串提取数据 在现代数据库管理中&#xff0c;JSON 格式因其灵活性而广泛使用。然而&#xff0c;当数据存储在 JSON 中时&#xff0c;我们经常需要将其转换为更易于处理的格式。本篇文章将通过一个具体的 SQL 查询示例&#xff0c;展示如何从存储在 MySQ…...

矛盾(WEB)

##解题思路 打开靶场就是一段自相矛盾的代码&#xff0c;既要num是数字类型&#xff0c;又要判断为1 这种情况我们会想到弱类型的编程语言&#xff0c;插件查看过后&#xff0c;php就是弱类型的语言&#xff0c;此处并非是严格相等&#xff0c;只是 因此可以根据弱类型编程语言…...

优先队列(典型算法思想)—— OJ例题算法解析思路

目录 一、1046. 最后一块石头的重量 - 力扣&#xff08;LeetCode&#xff09; 算法代码&#xff1a; 代码思路 使用优先队列&#xff08;大根堆&#xff09; 将所有石头放入堆中 模拟碰撞过程 返回最后的重量 代码解析 时间复杂度 示例 输入 输出 二、703. 数据流…...

IGBT的损耗性分析

铝合金外壳设计器地址:嘉立创铝合金外壳/壳体/盒型-让您的产品更出彩 IGBT和MOS的损耗谁大: 电子元器件常见失效模式: 电子元器件的失效模式多种多样,以下是一些常见的失效模式及其原因: 开路: 原因:内部连接断开、焊点断裂、导线断裂等。 影响:电流无法通过,电路中断。…...

TypeScript跟js,es6这些的区别

TypeScript 一、TypeScript 是什么 想象 JavaScript 是一个自由奔放的艺术家&#xff0c;它在创作&#xff08;编写代码&#xff09;时不受太多约束&#xff0c;非常灵活&#xff0c;但有时也容易犯错且难以调试。而 TypeScript 就像是给这位艺术家配备了一套精确的工具和规范…...

单例模式代码示例

饿汉式&#xff1a;在类加载时就创建单例实例&#xff0c;线程安全。代码如下&#xff1a; public class Singleton {// 私有静态实例private static final Singleton instance new Singleton();// 私有构造函数private Singleton() {}// 公共访问方法public static Singleto…...

掌握 ElasticSearch的 _source 过滤

掌握 ElasticSearch的 _source 过滤 1. 引言2. _source 元数据基础2.1 什么是 _source 字段&#xff1f;2.2 _source 的基本用法 3. 禁用 _source3.1 如何禁用 _source 字段3.2 禁用 _source 的利弊3.3 最佳实践建议 4. _source 数据源过滤4.1 为什么需要数据源过滤&#xff1f…...

车载音频配置(二)

目录 OEM 自定义的车载音频上下文 动态音频区配置 向前兼容性 Android 14 车载音频配置 在 Android 14 中,AAOS 引入了 OEM 插件服务,使你可以更主动地管理由车载音频服务监督的音频行为。 随着新的插件服务的引入,车载音频配置文件中添加了以下更改: • OEM 自定义的车…...

开目3DCAPP系列:三维制造成本分析与估算软件3DDFC

开目3DDFC 是一款基于 MBD 模型和工艺知识库的专业三维制造成本分析与估算软件&#xff0c;在不依赖详细工艺路线的情况下&#xff0c;根据零件几何信息和精度信息一键式完成零件成本的分析与估算&#xff0c;为面向成本的设计优化提供参考指引&#xff0c;也为企业对外产品报价…...

化学品安全数据表(MSDS)的全面解析与实用指南

SDS&#xff08;安全数据表&#xff09;&#xff0c;也称为MSDS&#xff08;材料安全数据表&#xff09;&#xff0c;是用于详细说明化学品的理化特性&#xff08;如pH值、闪点、易燃性、反应活性等&#xff09;及其对使用者健康&#xff08;如致癌、致畸等&#xff09;潜在危害…...

赛前启航 | Azure 应用开发实战指南:开启创意的无限可能

在 AI 时代&#xff0c;如何高效构建、优化和部署你的应用&#xff1f;如何充分利用微软 Azure 的强大能力&#xff0c;让开发更敏捷&#xff0c;性能更卓越&#xff1f;2 月 21 日 14:00-16:00&#xff0c;微软 AI 开发者挑战赛赛前指导第二场直播&#xff0c;带你全方位掌握 …...

Visual Studio Code的下载安装与汉化

1.下载安装 Visual Studio Code的下载安装十分简单&#xff0c;在本电脑的应用商店直接下载安装----注意这是社区版-----一般社区版就足够用了---另外注意更改安装地址 2.下载插件 重启后就是中文版本了...

home assistant ddns动态域名解析插件

home assistant ddns动态域名解析插件 使用方法 在HACS中搜索 ddns安装(hacs目前还没有合并我的提交&#xff0c;目前不可用)&#xff0c;或者 clone https://github.com/weiangongsi/ddns.git, 将 custom_components/ddns目录拷贝至 Home Assistant 配置目录的 custom_compon…...

金融交易算法单介绍

0.背景 股票交易时&#xff0c;常见的订单类型有基础订单和条件订单。 基础订单 市价单限价单碎股单等等 条件订单 止损市价单止损限价单触及市价单&#xff08;止盈&#xff09;触及限价单&#xff08;止盈&#xff09;跟踪止损市价单跟踪止损限价单等等 除了基础订单和…...

LabVIEW利用CANopen的Batch SDO写入

本示例展示了如何通过CANopen协议向设备写入Batch SDO&#xff08;批量服务数据对象&#xff09;。Batch SDO允许用户在一次操作中配置多个参数&#xff0c;适用于设备的批量配置和参数设置。此方法能够简化多个参数的写入过程&#xff0c;提高设备管理效率。 主要步骤&#xf…...

正式页面开发-登录注册页面

整体路由设计&#xff1a; 登录和注册的切换是切换组件或者是切换内容&#xff08;v-if和 v-else)&#xff0c;因为点击两个之间路径是没有变化的。也就是登录和注册共用同一个路由。登录是独立的一级路由。登录之后进到首页&#xff0c;有三个大模块&#xff1a;文章分类&…...

vLLM专题(二):安装-CPU

vLLM 是一个 Python 库,支持以下 CPU 变体。选择您的 CPU 类型以查看供应商特定的说明: Intel/AMD x86 vLLM 最初支持在 x86 CPU 平台上进行基本模型推理和服务,支持的数据类型包括 FP32、FP16 和 BF16。 注意 此设备没有预构建的 wheel 包或镜像,因此您必须从源代码构建 v…...

【CSS进阶】常见的页面自适应的方法

在前端开发中&#xff0c;自适应布局&#xff08;Responsive Design&#xff09;是一种让网页能够适应不同屏幕尺寸、设备和分辨率的技术。常见的自适应布局方法包括 流式布局、弹性布局&#xff08;Flexbox&#xff09;、栅格布局&#xff08;Grid&#xff09;、媒体查询&…...

Java编程语言:从基础到高级应用的全面探索

在当今的软件开发领域中&#xff0c;Java无疑是一种极为流行且强大的编程语言。自1995年由Sun Microsystems推出以来&#xff0c;Java凭借其跨平台性、面向对象特性和丰富的API库&#xff0c;迅速成为企业级应用开发的首选语言。本文将带您从Java的基础语法入手&#xff0c;逐步…...