【解决方案】笔记本电脑屏幕亮度调节失效(Dell G15 5510 使用Fn调节)

目前解决方案:使用驱动总裁(其他的驱动安装软件应该也可以,个人觉得这个好用),更新显卡驱动即可。如图所示本人更新了Intel® UHD Graphics核显驱动,功能回复正常。 使用Fn快捷键调节亮度如图所示,功能正常,屏幕亮度可以调节。理论上该方法适用于所有使用核显的笔记本,独显亮度无法调节需要更新独显驱动。 如果有用,点个赞吧~

智慧矿山:EasyCVR助力矿井视频多业务融合及视频转发服务建设

一、方案背景 随着矿井安全生产要求的不断提高,视频监控、数据传输、通讯联络等业务的需求日益增长。为满足矿井生产管理的多元化需求,提高矿井作业的安全性和效率,TSINGSEE青犀EasyCVR视频汇聚/安防监控综合管理平台,旨在构建一个矿井视频多业务融合及视频流媒体转发服务平台。该平台将集成视频监控、视频数据传输、管理等多项功能,实现矿井作业信息的实时传输与处理,为矿井安全生产提供有力保障。 二、方案概述 1)系统架构设计 平台采用模块化、层次化的设计思路,整体架构包括前端采集层、数据传输层、业务处理层和应用服务层。前端采集层负责视频、语音等数据的采集;数据传输层负责数据的可靠传输;业务处理层负责对数据进行处理、分析和转发;应用服务层提供用户交互接口,支持多种业务应用。 2)视频监控系统建设 采用高清网络摄像机,实现矿井各区域的全方位监控。通过视频编码技术,将视频数据压缩成适合网络传输的格式,并通过网络传输至EasyCVR平台。平台支持多路视频并发传输,可实时显示、存储和回放视频数据。 3)数据传输网络建设 构建高速、稳定的数据传输网络,保障视频、语音等数据的实时传输。采用光纤、无线等传输方式,根据矿井实际情况选择合适的传输方案。同时,建设备份传输线路,确保数据传输的可靠性。 4)业务处理系统建设 平台采用高性能的服务器和存储设备,实现数据的快速处理、存储和转发。还可以引入视频分析技术,对视频数据进行智能识别和分析,提高矿井安全管理水平。同时,平台支持拓展和集成等,支持与其他系统的对接,实现数据的共享和交换。 三、视频平台功能(部分) 1、实时监控 1)无插件监控 支持WS-FLV、HTTP-FLV、HLS、WebRTC、HTTP-FMP4、WS-FMP4协议流切换,并生成码流地址;支持地址一键复制;支持SDK、EHOME协议接入设备的主、子码流切换;支持RTSP、RTMP协议流,需要调用接口获取;支持增删改、跳转预置位,GB28181、EHOME、HIKSDK、大华SDK、协议支持自动获取设备预置位信息;支持云台控制(GB28181、EHOME、HIKSDK、大华SDK、宇视SDK、ONVIF)、语音喊话(GB28181、EHOME、宇视SDK),光标悬停视频播放窗口右侧可见;支持右键窗口关闭播放,或窗口右上角关闭按钮。 2)视频流信息 展示当前播放视频的视音频参数,如分辨率、视音频编码格式、帧率;展示当前播放视频的实时推流码率、推流开始时间、接入及传输协议、丢包率(GB28181)等;支持免保活功能。 3)分组快照检索 对所有已接入设备列表展示,并支持对通道收藏;支持分组名称、设备名称、通道名称检索;支持通道预览显示视频快照。 4)分屏监控 支持1/4/9/16分屏播放;支持全屏播放;支持加载当前分屏最近一次播放记录;支持多通道循环监控。 2、监控回放 1)云端列表视图 支持全局或单路录像计划;录像列表应展示通道名称、开始时间、录像时长、视频地址、快照信息;支持对录像文件紧急标记;支持录像文件播放、下载、删除;播放窗口下方支持实时录像、快照抓拍、全屏。 2)云端时间轴图 支持按天拖动滚动条播放;播放窗口下方支持实时录像、快照抓拍、全屏。 3)云端文件检索:支持日历查阅。 4)现场列表视图 设备录像是在前端设备或下级平台中做存储,GB28181、EHOME、HIKSDK、大华SDK协议支持;录像列表应展示通道名称、开始时间、录像时长、视频地址信息;支持录像文件播放、下载;支持x0.5/x1/x2/x4倍速播放;播放窗口下方支持实时录像、快照抓拍、全屏。 5)现场时间轴图 支持按天拖动滚动条播放;支持x0.5/x1/x2/x4倍速播放;播放窗口下方支持实时录像、快照抓拍、全屏。 6)现场文件检索:支持日历查阅。 3、视频上墙 支持电视墙场景管理能力,实现场景窗口配置、场景切换计划配置以及轮巡计划的管理;支持上墙控制能力,实现场景一键上墙、场景切换、电视墙切换、监控点上下墙、轮巡控制操作。 4、电子地图 设备定位:同步展示所选设备地理位置;可在【设备管理】中配置,GB28181协议支持设备主动推送经纬度信息。快照显示:应展示当前设备快照。实时视频:支持当前设备视频实时监控。 5、播放配置 1)播放协议 视频默认播放协议选择:WS-FLV、HTTP-FLV、HLS、WebRTC;多分屏默认播放协议选择:WS-FLV、WebRTC;支持开放的视频协议:WS-FLV、HTTP-FLV、HLS、RTMP、RTSP、WebRTC。 2)播放器音频:全局配置通道音频。 3)播放保活间隔:支持自定义播放保活时间。 4)取流超时:超过拉流时长,停止本次视频流拉取。 5)WebRTC:支持集群用户配置使用。 6、平台级联 1)添加上级平台 支持对接多个上级国标平台;支持上级平台信息的导入/导出;支持视频通道选择性推送;支持上级平台检索Ehome、宇视SDK、HKSDK、DHSDK的设备录像;支持上级平台检索RTSP设备的云端录像并且支持多平台同时级联推送;支持H.265的视频流配置到上级时转成H.264。 2)上级平台管理 支持对上级平台增删改;支持上级平台名称检索;支持在线/离线筛选。 7、开关 流量开关:开启流量开关,对设备、通道进行流量统计。前端解码:支持前后端解码切换(前端解码快照存储i帧,后端解码快照存储.jpeg)。鉴权开关:开启鉴权,对接API需要传token。转码开关:开启转码,即视频编码H.265转为H.264。 四、总结 通过TSINGSEE青犀EasyCVR视频汇聚平台的实施,将实现矿井视频多业务融合与视频转发服务系统的建设,提高矿井生产管理的智能化水平,实现信息的实时传输与处理,为矿井安全生产提供有力保障。同时,该平台还将降低人工巡检成本,提高工作效率,为矿井生产带来显著的经济效益和社会效益。

SpringBoot集成AI,接入大模型框架,LangChain4j

一、简介 1.介绍 官网介绍到LangChain的目标是简化LLM与Java应用程序的集成。 统一的API:每一个LLM提供商(如Open AI 或Google vetex AI)和向量存储(如Pinecone或Milvus)使用专有的API。LangChain4j提供了一个统一的API,以避免需要为每个API学习和实现特定的API。要尝试不同的LLM或嵌入存储,可以轻松地在它们之间切换,而无需重写代码,目前支持15个流行的LLM提供商和15个嵌入商店。 功能全面的工具箱:LLM的应用程序,确定了常见的抽象、模式和技术。LangChain4j将这些改进为一个可用的包。我们的工具箱包括从低级提示模板、聊天内存管理和输出解析到高级模式(如AI Services和RAG)的各种工具。对于每个抽象,我们提供了一个接口以及基于通用技术的多个现成的实现。无论您是构建聊天机器人还是开发具有从数据摄取到检索的完整管道的RAG。 支持的LLM和其他支持情况(Stream流式回答) 核心功能: Chat and Language Models:切换大模型Chat Memory:对系统内聊天指定聊天memoryId进行分区,可以根据memoryId来持续对话内容。Model Parameters:根据选择模型型号和提供程序,可以调整许多参数Response Streaming:响应式处理,LLM提供程序一种逐个令牌传输相应的方法,不用等待整个文本AI Services:高级的核心功能,通过代理的形式帮我们实现特定的Service层放服务,只需要关注业务,不需要关注底层实现Tools:除了生成本文以外,还可以触发操作。在tools层可以根据触发条件调用不同的函数RAG:根据特定的文档 + 向量化 数据,来扩展模型的知识库,提高搜索的有效性Embedding Stores:向量数据库存储功能,提供很多事例,可以使用ES、Redis 2.SpringAI区别 二、使用 1.主要模型接口 ChatLanguageModelLanguageModelStreamingChatLanguageModelStreamingLanguageModelEmbeddingModelModerationModel 以上都是langchain4j提供的大模型接口,都有不同的实现,比如ChatLanguage就有OpenAi提供的OpenAiChatModel和LocalAi提供的LocalAiChat Model实现等等。 例子:使用QianfanChatModel创建一个基础语言模型,进行LLM的基础调用 具体结构如下 1.1 导入依赖 <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j</artifactId> <version>0.31.0</version> </dependency> 1.2 核心代码 //基础模型 ->ChatLanguageModel, 接收多个CharMessages作为输入并返回AiMessage,ChatLanguage属于LangChain4j的基础Api QianfanChatModel model = QianfanChatModel.builder() .apiKey("Your apiKey") .secretKey("Your secretKey") .modelName("modelName") .build(); String answer = model.generate("你叫什么名字"); System.out.println(answer); //2.定制化模型 QianfanChatModel model1 = QianfanChatModel.builder() .apiKey("xrvMCg8jUn9XFjlweo5yCzZL") .secretKey("2oDq7RMIakIVHdMfYmpHuoGa9HtD6YEH") .temperature(50.00) .maxRetries(2) .topP(2.00) .

Python学生信息管理系统(完整代码)

引言:(假装不是一个大学生课设)在现代教育管理中,学生管理系统显得尤为重要。这种系统能够帮助教育机构有效地管理学生资料、成绩、出勤以及其他教育相关活动,从而提高管理效率并减少人为错误。通过使用Python,我们可以快速开发出灵活且功能强大的管理系统。 目录 分析 系统设计 数据模型设计 功能模块划分 于是我们有了: 完整项目 使用效果 分析 一个基本的学生管理系统应该具备以下几个核心功能: 学生信息管理:允许管理员添加、编辑和删除学生的基本信息如姓名、年龄、性别和班级。成绩管理:管理学生的成绩数据,包括成绩录入、修改和查询。课程管理:添加和管理课程信息,以及课程与学生的关联。查询功能:能够按条件查询学生信息和成绩,如按姓名、班级等。报表生成:生成学生的成绩单、出勤记录等报表。 系统设计 数据模型设计 数据模型主要包括三个对象:学生、课程和成绩。学生对象包含姓名、年龄等属性;课程对象包括课程名称和课程描述;成绩对象则关联学生和课程,并记录具体的分数。 功能模块划分 信息管理模块:处理学生、教师和课程的基本信息录入和修改。成绩管理模块:实现成绩的添加、更新和查询。用户界面模块:通过图形界面与用户交互,实现数据的输入和显示。 于是我们有了: class Student: def __init__(self, student_id, name, age): self.student_id = student_id self.name = name self.age = age def __str__(self): return f"Student ID: {self.student_id}, Name: {self.name}, Age: {self.age}" class StudentManager: def __init__(self): self.students = {} def add_student(self, student): self.students[student.student_id] = student print(f"Added: {student}") def remove_student(self, student_id): if student_id in self.students: del self.students[student_id] print(f"Removed student ID {student_id}"

MYSQL8.0环境部署

创建用户 groupadd mysql useradd -g mysql mysql 删除原来的包 # rpm -qa|grep mysql # rpm -qa|grep mari mariadb-libs-5.5.68-1.el7.x86_64 # rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 解压 cd /usr/local & mkdir mysql cd mysql # cp mysql-8.0.34-linux-glibc2.12-x86_64.tar.gz /home/mysql/ # cd /home/mysql/ chown mysql:mysql mysql-8.0.34-linux-glibc2.12-x86_64.tar.gz chmod 775 mysql-8.0.34-linux-glibc2.12-x86_64.tar.gz su - mysql tar -xvf mysql-8.0.34-linux-glibc2.12-x86_64.tar.gz mv mysql-8.0.34-linux-glibc2.12-x86_64 mysql834 创建通用目录 ln -s /home/mysql/mysqlbase /usr/local/mysql cd /usr/local/mysql/mysql834 # ls -lrt total 308 -rw-r--r-- 1 mysql mysql 666 Jun 22 19:07 README

代码随想录Day74(图论Part10)

94. 城市间货物运输| (Bellman_ford队列优化版 / SPFA) 题目:94. 城市间货物运输 I (kamacoder.com) 思路: Bellman_ford 算法 每次都是对所有边进行松弛,其实是多做了一些无用功。 只需要对 上一次松弛的时候更新过的节点作为出发节点所连接的边 进行松弛就够了。 因此,关键在于记录上次松弛更新过的节点,用队列来记录。 答案 import java.util.*; class Edge { int to; // 链接的节点 int val; // 边的权重 Edge(int t, int w) { to = t; val = w; } } public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); // 顶点数 int m = scanner.nextInt(); // 边数 List<List<Edge>> graph = new ArrayList<>(); for (int i = 0; i <= n; i++) { graph.

Java实现图片的垂直方向拼接

利用Java实现了任意两张图片的垂直方向拼接,不限制大小类型,可直接用于生产。 实现任意两张图片的垂直方向拼接,对于过小图片实现了放大,保证了图片拼接后的清晰度。 对于高度大于宽度的图片,进行了-90度旋转。 import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Arrays; import java.util.List; //垂直方向合并图片 public class ImageMerge { /** * 1比较2张图片的大小,以2张图片的最大边长为宽,以第二边长为高,构造2张空图片 * 2选择第一张图片,若宽小于于高,旋转-90度,粘贴到第一张空图片上 * 3选择第二张图片,若宽小于于高,旋转-90度,粘贴到第二张空图片上 * * @param img1 待合并的第一张图 * @param img2 带合并的第二张图 * @return 返回合并后的BufferedImage对象 * @throws IOException */ public static BufferedImage mergeImage(BufferedImage img1, BufferedImage img2) throws IOException { //判断是否需要放大图片 if (Math.max(img1.getWidth(), img1.getHeight()) > Math.max(img2.getWidth(), img2.getHeight())) { img2 = judgeIfNeedChangeImageSize(img1, img2); } else { img1 = judgeIfNeedChangeImageSize(img1, img2); } //获取背景图片宽高 int w1 = img1.

什么是数据挖掘(python)

文章目录 1.什么是数据挖掘2.为什么要做数据挖掘?3数据挖掘有什么用处?3.1分类问题3.2聚类问题3.3回归问题3.4关联问题 4.数据挖掘怎么做?4.1业务理解(Business Understanding)4.2数据理解(Data Understanding)4.3数据准备(Data Preparation)4.4 构建模型(Modeling)4.5 评估模型(Evaluation)4.6模型部署(Deployment) 我将借助5W1H 的思想来带你从整体上了解下数据挖掘,比如什么是数据挖掘、为什么要做数据挖掘、在哪些场景下用数据挖掘,以及怎么做数据挖掘。我会从这条主线上逐渐细化,为这个“骨架” 填充肌肉和血液,让它逐渐丰满起来。 1.什么是数据挖掘 这个问题看似很简单,但似乎也很难有一个明确的答案。 如果非要给数据挖掘一个定义的话,那么我认为数据挖掘就是寻找数据中隐含的知识并用于产生商业价值。也就是说,它是我们在数据中(尤其是在大量的数据中)找到一些有价值,甚至是非常有价值的东西的一种手段。 2.为什么要做数据挖掘? 技术与商业就像一对双生子,在互相促进中不断演进发展,随之而来的就是各大公司业务突飞猛进,很多新模式也涌现出来,使得数据量激增。 面对数以千万甚至上亿,以及不同形式的数据,很难再用纯人工,或者纯统计的方法从成千上万的变量中找到其隐含的价值。 我们需要一种规范的解决方案,能够利用并且充分利用这些数据里的每一个部分,通过一些自动化的机器学习算法,从数据中自动提取价值。而数据挖掘就提供了这样一系列的框架、工具和方法,可以处理不同类型的大量数据,并且使用复杂的算法部署,去探索数据中的模式。 总之,数据挖掘的产生动因主要有以下3 点。 海量数据。随着互联网技术的发展,数据的生产、收集和存储也越来越方便,海量数据因此产生。比如,我们常用的微信,每天要产生超过380 亿条数据;今日头条每天要发布上百万的新文章;淘宝每天有上千万的包裹要发出。维度众多。在一个多维度的数据中,每增加一个维度都会增加数据分析的复杂程度。比如点外卖事件涉及的维度就有:浏览饭店的菜品(形式有文字、图片或语言、视频等)、浏览时间、下单价格、交易处理、分配配送员及GPS 信息、完成订单后的评价等。问题复杂。通常用数据挖掘解决的问题都比较复杂,很难用一些规则或者简单的统计给出结果。如果让开发者写一个微波炉的智能控制逻辑,我想难度不是很大,即便是有十几个,甚至几十个按钮的控制中心也不过是多花费一点时间而已。但如果编写一段代码来区分某图片中是否有一只猫咪,那要考虑的问题就太多了,使用传统的方法很难解决,而这恰恰是数据挖掘所擅长的。 以上是我们进行数据挖掘的初衷,在后续的课程中你也会看到,随着这些问题的出现,它们在数据挖掘中是如何被解决的。 3数据挖掘有什么用处? 既然数据挖掘是一种方法,那就要用它去解决一些问题。下面我就来具体讲一下你最关心的,也是最实际的问题,数据挖掘到底有什么用处。 3.1分类问题 分类问题是最常见的问题。比如新闻网站,判断一条新闻是社会新闻还是时政新闻,是体育新闻还是娱乐新闻?这就是一个分类问题,也就是对已知类别的数据进行学习,为新的内容标注一个类别。 3.2聚类问题 聚类与分类不同,聚类的类别预先是不清楚的,我们的目标就是要去发现这些类别。聚类的算法比较适合一些不确定的类别场景。 比如我们出去玩,捡了一大堆不同的树叶回来,你不知道这些树叶是从什么树上掉落的,但是你可以根据它们的大小、形状、纹路、边缘等特征给树叶进行划分,最后得到了三个较小的树叶堆,每一堆树叶都属于同一个种类。 3.3回归问题 简单来说,回归问题可以看作高中学过的解线性方程组。它的最大特点是,生成的结果是连续的,而不像分类和聚类生成的是一种离散的结果。 比如,使用回归的方法预测北京某个房子的总价(y),假设总价只跟房子的面积(x)有关,那么我们构建的方程式就是ax+b=y。如何根据已知x 和y 的值解出a 和b 就是回归问题要解决的。回归方法是通过构建一个模型去拟合已知的数据(自变量),然后预测因变量结果。 3.4关联问题 关联问题最常见的一个场景就是推荐,比如,你在京东或者淘宝购物的时候,在选中一个商品之后,往往会给你推荐几种其他商品组合,这种功能就可以使用关联挖掘来实现。 4.数据挖掘怎么做? 数据挖掘,也是有方法论的。实际上,数据挖掘经过了数十年的发展和无数专家学者的研究,有很多人提出了完整的流程框架,这对于我们来说简直是福音。当然,如果你在使用的过程中觉得这些东西有问题,或者还有改进的空间,那也不要惧怕权威,尽信书则不如无书嘛。 在这里,我讲一个应用最多的CRISP-DM(Cross-industry Standard Process for Data Mining,跨行 业数据挖掘标准流程)方法论,不要被这么长的名字吓到,这里我们先简单地了解数据挖掘的操作步骤有哪些,后面我也会逐一详细讲解。 下面我们就来看一下,如何依照这6 个步骤进行数据挖掘。 4.1业务理解(Business Understanding) 想象你在一个外贸公司上班,有一天,你的老板突然给你说:“小明啊,你能不能训练一个模型来预测一下明年公司的利润呢?”这就是一个业务需求了,若要解决这个问题,首先要弄明白需求是什么,这就是业务理解,或者也可以叫作商业理解。比如,你要搞清楚什么是利润、利润的构成是什么样的、利润受什么影响,同时老板说的利润是净利润还是毛利润等问题。 业务理解,主旨是理解你的数据挖掘要解决什么业务问题。任何公司启动数据挖掘,都是想为业务赋能,因此我们必须从商业或者从业务的角度去了解项目的要求和最终的目的,去分析整个问题涉及的资源、局限、设想,甚至是风险、意外等情况。从业务出发,到业务中去。 4.2数据理解(Data Understanding) 明白了问题,还要明白解决问题需要什么数据。比如这个时候,你的老板又跟你说了:“小明啊,我想改改需求,能不能多做几个模型,把竞品公司明年的利润也都算算,我想对比一下。” 然而“巧妇难为无米之炊”,你根本就没有这个数据,这个需求也就无从完成了。数据理解阶段始于数据的收集工作,但我认为重点是在业务理解的基础上,对我们所掌握的数据要有一个清晰、明确的认识,了解有哪些数据、哪些数据可能对目标有影响、哪些可能是冗余数据、哪些数据存在不足或缺失,等等。需要注意的是,数据理解和业务理解是相辅相成的,因此你在制定数据挖掘计划的时候,不能只是单纯地谈需求,这也是大多数初入门的数据挖掘工程师容易忽略的。数据理解得不好,很可能会导致你对业务需求的错误评估,从而影响后续进度甚至是结果。 4.3数据准备(Data Preparation) 完成上面两个步骤后,我们就可以准备数据了。你需要找销售要销售数据,找采购要采购数据,找财务要各种收入、支出数据,然后整理所有需要用到的数据,想办法补全那些缺失的数据,计算各种统计值,等等。数据准备就是基于原始数据,去构建数据挖掘模型所需的数据集的所有工作,包括数据收集、数据清洗、数据补全、数据整合、数据转换、特征提取等一系列动作。 事实上,在大多数的数据挖掘项目中,数据准备是最困难、最艰巨的一步。如果你的数据足够干净和完整,那么在建模和评估阶段所付出的精力就越少,甚至都不必去使用什么复杂的模型就可以得到足够好的效果,所以这个阶段也是十分重要的。 4.4 构建模型(Modeling) 也可以叫作训练模型,在这一阶段,我们会把准备好的数据喂给算法,所以这个阶段重点解决的是技术方面的问题,会选用各种各样的算法模型来处理数据,让模型学习数据的规律,并产出模型用于后续的工作。 对于同一个数据挖掘的问题类型,可以有多种方法选择使用。如果有多重技术要使用,那么在这一任务中,对于每一个要使用的技术要分别对待。一些建模方法对数据的形式有具体的要求,比如SVM 算法只能输入数值型的数据,等等。因此,在这一阶段,重新回到数据准备阶段执行某些任务有时是非常必要的。 4.5 评估模型(Evaluation) 在模型评估阶段,我们已经建立了一个或多个高质量的模型。但是模型的效果如何,能否满足我们的业务需求,就需要使用各种评估手段、评估指标甚至是让业务人员一起参与进来,彻底地评估模型,回顾在构建模型过程中所执行的每一个步骤,以确保这些模型达到了目标。在评估之后会有两种情况,一种是评估通过,进入到上线部署阶段;另一种是评估不通过,那么就要反过来再进行迭代更新了。

如何更改 Python pip 源为国内源

在使用 Python 安装包工具 pip 时,经常会遇到下载速度慢的问题。这通常是因为默认使用的官方源 https://pypi.org/simple 在国内访问速度较慢。为了提高下载速度,我们可以将 pip 源更改为国内的镜像源。本文将介绍如何临时和永久地更改 pip 源为国内源。 临时换源 临时换源方法是在 pip 安装包时加上 -i 参数,并指定镜像源的 URL。 清华源 pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple 阿里源 pip install package_name -i https://mirrors.aliyun.com/pypi/simple/ 腾讯源 pip install package_name -i http://mirrors.cloud.tencent.com/pypi/simple 豆瓣源 pip install package_name -i http://pypi.douban.com/simple/ 永久换源 永久换源方法是修改 pip 的配置文件,使所有包的下载都从指定的镜像源进行。 修改配置文件 Linux 和 macOS 在根目录下创建或修改 ~/.pip/pip.conf 文件,添加以下内容: [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host = pypi.tuna.tsinghua.edu.cn 其他源的配置: 阿里源: [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host = mirrors.

昇思25天学习打卡营第16天|文本解码原理——以MindNLP为例

在大模型中,文本解码通常是指在自然语言处理(NLP)任务中使用的大型神经网络模型(如Transformer架构的模型)将编码后的文本数据转换回可读的原始文本的过程。这些模型在处理自然语言时,首先将输入文本(如一段话或一个句子)编码成高维空间中的向量表示,这些向量能够捕捉到文本的语义和上下文信息。 在编码过程中,模型通过多层神经网络将文本的每个字符、单词或标记(token)转换成对应的向量。这些向量随后在模型的解码阶段被处理,以生成或选择最合适的序列来表示原始文本的含义。例如,在机器翻译任务中,解码阶段会生成目标语言的文本;在文本摘要任务中,解码阶段会生成原文的摘要;在问答系统中,解码阶段会生成问题的答案。 一、自回归语言模型: 1、根据前文预测下一个单词: 2、一个文本序列的概率分布可以分解为每个词基于其上文的条件概率的乘积 : w_0:初始上下文单词序列T:时间步当生存ESO标签时停止生成 3、MindNLP/huggingface Transformers提供的文本生成方法: 二、环境准备: 首先还是需要下载MindSpore,相关教程可以参考我昇思25天学习打卡营第1天|快速入门这篇博客,之后就需要使用pip命令在终端卸载mindvision和mindinsight包之后,下载mindnlp: pip uninstall mindvision -y pip uninstall mindinsight -y pip install mindnlp 相关依赖下载完成之后,就可以开始我们下面的实验了! 三、Greedy Search: 在每个时间步𝑡都简单地选择概率最高的词作为当前输出词: wt = argmax_w P(w|w(1:t-1)) 按照贪心搜索输出序列("The","nice","woman") 的条件概率为:0.5 x 0.4 = 0.2 缺点: 错过了隐藏在低概率词后面的高概率词,如:dog=0.5, has=0.9 ![image.png](attachment:image.png =600x600) from mindnlp.transformers import GPT2Tokenizer, GPT2LMHeadModel tokenizer = GPT2Tokenizer.from_pretrained("iiBcai/gpt2", mirror='modelscope') # add the EOS token as PAD token to avoid warnings model = GPT2LMHeadModel.from_pretrained("iiBcai/gpt2", pad_token_id=tokenizer.eos_token_id, mirror='modelscope') # encode context the generation is conditioned on input_ids = tokenizer.

中国农业会计编辑部中国农业会计杂志社2024年第10期目录

人物风采 为民服务守初心 平凡岗位担使命——记云南省漾濞县畜牧兽医管理服务中心高级畜牧师徐健春 2 会计研究 管理会计在企业全面管理中的应用——以D公司为例 蒯浠语; 3-5,《中国农业会计》投稿:cnqikantg@126.com AI时代企业会计数据集成管理策略研究 谢晋旖; 6-8 城乡融合视域下农村会计信息化建设存在的问题及其对策 邵汝梅; 9-11 生产制造企业会计核算常见问题及对策研究 周冰强; 12-14 财务管理 S省行政事业单位公务卡结算存在的问题及其解决建议 庄萌; 15-17 数字化背景下企业财务风险识别与应对研究 祁梦真; 18-20 全面预算管理在互联网企业中的应用探讨 吕朝辉; 21-23 “双轮驱动”财务管理模式在公立医院DIP支付环境中的应用实践——以Q医院为例 马营营; 24-26 企业全面预算管理存在的问题及其对策 漆群; 27-29 电力公司预算管理与绩效评估探讨 张琳;王嫒琳; 30-32 大数据在企业财务分析工作中的应用价值及策略 高爽; 33-35 国有企业财务管理存在的问题及其对策 丁久玲; 36-38 大数据时代加快企业财务管理转型的对策探讨 赵海燕; 39-41 事业单位内部财务控制存在的问题及其对策 黄宏琴; 42-44 基于全生命周期的乡镇政府固定资产管理问题与对策探究——以SD镇政府为例 郑小梅; 45-47 医药企业应收账款管理存在的问题及其对策 王丽颖; 48-50 制造业企业财务管理信息化的策略 钟露梅; 51-53 数智化背景下企业财务共享中心优化路径研究——以Z公司为例 杨瑾; 54-56 基于COSO框架的基层水利单位财务内部控制问题及其解决对策——以DY水务局为例 延丽华; 57-59 投融资流程下的企业资金管理优化探析 张艾妮; 60-62 农业企业财务内部控制体系现状及优化策略 刘燕; 63-65

B站大课堂-自动化精品视频(个人存档)

基础知识 工业通信协议 Modbus 施耐德研发,有基于以太网的 ModbusTCP 协议和使用 485/232 串口通信的 ModbusRTU/ASCII。 Modbus 协议面世较早、协议简洁高效、商用免费、功能灵活、实现简单,是目前应用最广泛的现场总线协议。 我的笔记里边有一些推荐视频:https://blog.csdn.net/weixin_44112083/article/details/130441023 EtherCAT 德国倍福研发的现场控制总线,使用网线作为连接介质(但不支持以太网)。特点是极快的刷新周期(理论最高 12.5us)和极高精度的同步(DC 同步时钟功能),使用此协议不需要授权费用,在国产伺服中广泛使用。 全网最强:EtherCAT 基础介绍深入浅出始终!Microchip LAN9252从站控制器培训教程 快速入门(仅仅是科普级别的),大概了解 EtherCAT 的特点、优势,实现的一些关键技术 (如 On the Fly 帧,基于 MAC 的物理层,报文+邮箱/消息,寻址方式,FMMU + SM,DC 分布式时钟、状态机等)【工业通讯】EtherCAT&EtherNet/IP基础知识讲解合集 每个特性都做了比较详细的讲解(PPT + 报文分析),但是讲的有点乱,建议先看第一个视频,先了解 EtherCAT 的特性再看这个 西门子 S7(PROFINET RT) 西门子研发的,用于西门子体系内产品相互通讯的私有协议,基于以太网,是 Profinet 通讯系统的重要组成部分 这个一般来说会配置就行,如以下两种典型配置 在 TIA 博途软件中,配置 S7-1200、S7-1500 与其他西门子 PLC、ET200 远程 IO 的 S7 通讯在 STEP7 软件中,配置 S7-300、S7-400 与西门子其他 PLC、ET200 远程 IO 的 S7 通讯 西门子 PROFIBUS 使用 485 串口,配合特殊波特率,使用循环令牌机制的总线协议,用于旧式西门子设备的数据互联

【C#】如何在窗体程序中调用多行CMD命令

【背景】 用VS写一个C#窗体程序,第一步需要用CMD启动一个外部服务并发送信息给该服务器,涉及两步命令,第一步是启动服务,第二步是发送信息。 【分析】 要点: 如何指定启动CMD的路径在服务exe所在路径下;如何用C#执行CMD命令;如何执行多条CMD命令; 【实现】 通过设置WorkingDirectory参数可以指定运行CMD的起始路径为指定路径,方便找到服务exe通过ProcessStartInfo调用CMD通过&&连接多行CMD命令 【示例代码】 假设我在程序的当前目录下放了一个piping-server.exe服务。用如下代码可以启动此服务并传递消息。 private void RunCmdCommand() { try { // 获取当前目录 string currentDirectory = Directory.GetCurrentDirectory(); // 创建一个新的Process启动信息 ProcessStartInfo processStartInfo = new ProcessStartInfo { FileName = "cmd.exe", Arguments = "/c piping-server && echo 'hello, world'|curl -T- http://127.0.0.1:8080/hello", // 这里写上你想要执行的CMD命令 RedirectStandardOutput = true, UseShellExecute = false, CreateNoWindow = true, WorkingDirectory = currentDirectory }; // 启动进程 using (Process process = Process.Start(processStartInfo)) { // 读取输出 using (System.IO.StreamReader reader = process.

基于Hadoop的招聘数据可视化系统实现(爬虫、hadoop+hive、flask+echarts、薪资预测、岗位推荐)

文章目录 概要整体架构流程项目实现数据挖掘 概要 随着大数据技术的兴起,AI人工智能领域迎来了大量的人才,而网络招聘成为了求职者的首选渠道。然而,招聘网站信息往往是重复、分散且不一致,就业人员需要花费大量时间才能找到真正合适的岗位。 整体架构流程 本文利用Flask框架设计并实现了一个AI岗位招聘数据可视化系统。首先,系统利用Selenium技术实现对网页数据的自动抓取;接着,构建由三台服务器组成的Hadoop集群,并将爬取数据存储在HDFS分布式文件系统中,使用基于Spark的Hive数据仓库进行数据处理和分析,生成得到的分析数据用可视化方式呈现给用户;并且,系统还使用线性回归算法实现薪资预测以及基于用户的协同过滤算法实现岗位推荐功能,最终给用户提供了一个更加直观、易懂的AI岗位招聘数据可视化系统。 项目流程架构图 项目实现 系统主要分为三个部分:数据采集-搭建数据仓库-建设数据可视化系统 1、数据采集 数据采集使用的技术是Selenium,而Selenium是能够在浏览器中运行测试,仿佛是真实用户在进行操作一样的工具,Selenium能模拟浏览器发送请求,并与网页中的元素进行交互,从而在网页中提取出数据,相较于其他的爬虫方法,Selenium能高效爬取到动态的数据,采用合法手段进行反爬虫策略,确保数据的有效爬取。 从Boss直聘网站上爬取AI岗位招聘数据,而爬取得到的数据由csv文件保存 编写爬虫程序 根据所需要后续可视化分析展示的数据进行元素定位采集 import datetime from selenium.webdriver.support.ui import WebDriverWait from selenium.common.exceptions import StaleElementReferenceException from selenium import webdriver from selenium.webdriver.common.by import By import time import re import csv with open(f'boss_job_city_info.csv','a',encoding='ANSI',newline='') as filename: csvwriter = csv.DictWriter(filename,fieldnames=[ '岗位','地点','薪资','工作经验','学历','公司名称','技能','工作福利','工作类型','融资情况','公司规模','链接' ]) path = 'chromedriver.exe' dr = webdriver.Chrome(path) dr.get("https://www.zhipin.com/web/geek/job?query=AI&city=101030100&page=9") dr.implicitly_wait(8) time.sleep(5) def job_info(): job_list = dr.find_elements(By.CLASS_NAME, 'job-card-wrapper') for job in job_list: # 职位 job_name = job.

.Net C#执行JavaScript脚本

文章目录 前言一、安装二、执行 JavaScript 脚本三、与脚本交互四、JS 调用 C# 方法五、多线程使用总结 前言 ClearScript 是一个 .NET 平台下的开源库,用于在 C# 和其他 .NET 语言中执行脚本代码。它提供了一种方便和安全的方法来将脚本与应用程序集成,并允许将应用程序暴露给脚本以进行更高级别的自定义和交互。 一、安装 二、执行 JavaScript 脚本 using var engine = new V8ScriptEngine(); engine.Execute("var a = 10; var b = 20; var c = a + b;"); var result = engine.Script.c; Console.WriteLine(result); // 输出 30 三、与脚本交互 在执行 JavaScript 脚本时,可以将 C# 对象传递给脚本,以便脚本可以访问这些对象。要将对象传递给脚本,需要使用 AddHostObject() 方法将对象添加到 JavaScript 引擎中。 /// <summary> /// Person类需要为Public,V8引擎才能正常访问 /// </summary> public class Person { public string?

html高级篇

1.2D转换 转换(transform)你可以简单理解为变形 移动:translate 旋转:rotate 缩放:sCale 移动:translate 1.移动具体值 /* 移动盒子的位置: 定位 盒子的外边距 2d转换移动 */ div { width: 200px; height: 200px; background-color: pink; /* x就是x轴上移动位置 y 就是y轴上移动位置 中间用逗号分隔*/ /* transform: translate(x, y); */ /* transform: translate(100px, 100px); */ /* 1. 我们如果只移动x坐标 */ /* transform: translate(100px, 0); */ /* transform: translateX(100px); */ /* 2. 我们如果只移动y坐标 */ /* transform: translate(0, 100px); */ /* transform: translateY(100px); */ } div:first-child { transform: translate(30px, 30px); } div:last-child { background-color: purple; } 2.

【c++】C++ IO流

本专栏内容为:C++学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C++。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C++ 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编程知识 io流 C语言的输入与输出流是什么C++IO流C++标准IO流C++文件IO流文件操作步骤以二进制的形式操作文件以文本的形式操作文件使用>>和<<对文件进行操作 stringstream的介绍 C语言的输入与输出 在C语言当中,我们使用最频繁的输入输出方式就是scanf与printf: scanf: 从标准输入设备(键盘)读取数据,并将读取到的值存放到某一指定变量当中。 printf: 将指定的数据输出到标准输出设备(屏幕),使用时需要注意宽度输出和精度输出的控制。 C语言借助了相应的缓冲区来进行输入与输出,如下图所示: 对输入输出缓冲区的理解: 可以屏蔽掉低级I/O的实现。 低级I/O的实现依赖操作系统本身内核的实现,所以如果能够屏蔽这部分的差异,可以很容易写出可移植的程序。可以使用这部分的内容实现“行”读取的行为。 对于计算机而言是没有“行”这个概念的,有了这部分,就可以定义“行”的概念,然后解析缓冲区的内容,返回一个“行”。 流是什么 “流”即是流动的意思,是物质从一处向另一处流动的过程,是对一种有序连续且有方向性的数据的抽象描述。 C++流是指信息从外部输入设备(如键盘)向计算机内部(如内存)输入和从计算机内部向外部输出设备(如显示器)输出的过程。这种输入输出的过程被形象的比喻为“流”。 流的特性: 有序连续、具有方向性。 为了实现这种流动,C++定义了I/O标准类库,当中的每个类都称为流/流类,用以完成某方面的功能。 C++IO流 C++系统实现了一个庞大的类库,其中ios为基类,其他类都是直接或间接派生自ios类。 C++标准IO流 C++标准库提供了4个全局流对象(cin、cout、cerr、clog): 使用cout进行标准输出,即数据从内存流向控制台(显示器)。 使用cin进行标准输入,即数据通过键盘输入到程序中。 使用cerr进行标准错误的输出。 使用clog进行日志的输出。 从上图可以看出,cout、cerr、clog都是由ostream类实例化出的三个不同的对象,因此这三个对象基本没什么区别,只是应用场景不同。 注意: 1、在使用cin、cout时必须要包含iostream文件,并引入std标准命名空间。 #include <iostream> //包含iostream文件 using namespace std; //引入std标准命名空间 int main() { int a = 0; cin >> a; cout << a << endl; return 0; } 或是在使用时指定cout和cin所属的命名空间。 #include <iostream> //包含iostream文件 int main() { int a = 0; std::cin >> a; //使用时指定所属命名空间 std::cout << a << std::endl; //使用时指定所属命名空间 return 0; } 2、cin为缓冲流。键盘输入的数据保存在缓冲区中,当要提取时,是从缓冲区中提取。如果一次输入过多,则多余的数据会留在缓冲区以供之后提取,如果输入错了,必须在回车之前进行修改,回车键按下就无法进行修改了,只有把输入缓冲区中的数据取完后,才会要求输入新的数据。

【物联网工程导论期末复习完整知识点】第四章物联网智能硬件与嵌入式

第四章物联网智能硬件与嵌入式 第四章物联网智能硬件与嵌入式嵌入式技基本概念嵌入式系统发展过程嵌入式系统的体系结构嵌入式系统的特点 物联网智能硬件智能硬件(Intelligent Hardware)的基本概念人工智能人机交互物联网智能硬件人机交互的特点 可穿戴计算研究及其在物联网中的应用分类 智能机器人研究及其在物联网中的应用分类 第四章物联网智能硬件与嵌入式 嵌入式技基本概念 嵌入式系统发展过程 第一阶段:以可编程序控制器系统为核心的研究阶段第二阶段:以嵌入式中央处理器CPU为基础、简单操作系统为核心的阶段第三阶段:以嵌入式操作系统为标志的阶段第四阶段:基于网络操作的嵌入式系统发展阶段 嵌入式系统的体系结构 嵌入式系统的特点 面向特定应用的专用计算机系统 根据应用的具体需求,剪裁计算机的硬件与软件 适应对计算机功能、可靠性、成本、体积、功耗的要求 物联网智能硬件 智能硬件(Intelligent Hardware)的基本概念 体现了“互联网+传感器+计算+通信+智能+控制+大数据+云计算”等多项技术的融合,其核心是智能技术 标志着硬件技术向着更加智能化、交互方式更加人性化,以及向“云+端”融合方向发展的趋势,预示着智能硬件将成为物联网产业发展新的热点 《智能硬件产业创新发展专项行动(2016-2018年)》明确重点发展的五类智能硬件产品:智能穿戴设备、智能车载设备、智能医疗健康设备、智能服务机器人、工业级智能硬件设备 人工智能 人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术应用系统的一门科学 人工智能研究的目标是让机器具有像人类一样的思考能力与识别事物、处理事物的能力 人工智能研究的基本内容: 智能感知智能推理智能推理智能行动 人机交互 支撑智能硬件的六项技术是:人机交互、硬件结构、软件应用、设备协同、信息安全与能量控制 “应用创新”是物联网发展的核心,“用户体验”是物联网应用设计的灵魂物联网的用户接入方式多样性、应用环境差异性,决定了物联网智能硬件在人机交互方式上的特殊性 一个成功的物联网智能硬件设计,必须根据不同物联网应用系统需求与用户接入方式,认真地解决好物联网智能硬件的人机交互问题;很多人机交互的奇思妙想甚至会成就物联网在某一个领域的应用 人机交互的基本方式 物联网智能硬件人机交互的特点 统的键盘、鼠标输入方法,以及屏幕文字、图形交互方式已经不能适合移动环境、便携式物联网终端设备的应用需求,必须摒弃传统的人机交互方式,研发出新的人机交互方法 可穿戴计算设备在研究人机交互中使用了虚拟交互、人脸识别、虚拟现实与增强现实、脑电控制、柔性显示与柔性电池等新技术能够适应物联网智能硬件的特殊需求,对于研究物联网智能硬件人机交互技术有着重要的参考和示范作用 虚拟交互技术人脸识别技术虚拟现实与增强现实技术 虚拟现实的特征:沉浸感、交互性和想象力桌面虚拟现实系统、沉浸式虚拟现实系统、分布式虚拟现实系统与增强现实系统 柔性显示技术柔性电池技术 可穿戴计算研究及其在物联网中的应用 可穿戴计算基本概念(wearable computing) 随着物联网应用的发展,目前可穿戴计算应用正在向智能医疗、智能家居、智能交通、智能工业、智能电网领域延伸和发展 可穿戴计算体现出“以人为本”和“人机合一”,以及为佩戴者提供“专属化”、“个性化”服务的特征 可穿戴计算设备以“云-端”模式运行,以及可穿戴计算与大数据技术的融合,将对可穿戴计算设备的研发与物联网的应用带来巨大的影响 分类 头戴式设备身着式手戴式脚穿式 智能机器人研究及其在物联网中的应用 第一代机器人的主要特征是:位置固定、非程序控制、无传感器的电子机械装置,只能够按给定的工作顺序操作 第二代机器人的主要特征是:传感器的应用提高了机器人的可操作性。研究人员在机器人上安装各种传感器,如触觉传感器、压力传感器和视觉传感系统,向着人工智能方向发展 第三代机器人的主要特征是:安装了多种传感器,能够进行复杂的逻辑推理、判断和决策,具有初级的感知和自动生成程序能力,能够自动避开障碍物 第四代机器人的主要特征是:具有**人工智能、自我复制、自动组装的特点,从机器人网络向“云机器人”**方向演进 应用前景 通过网络控制的智能机器人正在向我们展示出对世界超强的感知能力与智能处理能力。智能机器人可以在物联网的环境保护、防灾救灾、安全保卫、航空航天、军事,以及工业、农业、医疗卫生等领域的应用中发挥重要的作用,必将成为物联网的重要成员 发展物联网的最终目的不是简单地将物与物互联,而是要催生很多具有计算、通信、控制、协同和自治性能的智能设备,实现实时感知、动态控制和信息服务;智能机器人研究的目标同样追求的是机器人的行为、学习、知识的感知能力;在这一点上,智能机器人与物联网研究目标有很多相通之处 云计算、大数据与智能机器人技术的融合导致“云机器人”的出现;由于云计算强大的计算与存储能力,可以将智能机器人大量的计算和存储任务集中到云端,同时允许单个机器人访问云端计算与存储资源,这就为需要较少的机器人机载计算与存储,降低机器人制造成本,提高智能机器人在物联网应用的高度和深度 分类 工业机器人农业机器人服务机器人医用机器人微机器人微操作机器人仿人机器人玩具机器人特种机器人空间机器人军用机器人

【数据结构】(C语言):二叉搜索树(不使用递归)

二叉搜索树: 非线性的,树是层级结构。基本单位是节点,每个节点最多2个子节点。有序。每个节点,其左子节点都比它小,其右子节点都比它大。每个子树都是一个二叉搜索树。每个节点及其所有子节点形成子树。可以是空树。 C语言实现:(使用链表实现,不使用递归) 创建结构体数据类型(记录二叉搜索树的根节点和数据个数): typedef struct Link { LinkNode *root; // 根节点 int length; // 统计有多少数据 } LinkBST; // 别名 创建二叉搜索树,并初始化: LinkBST bst; bst.root = NULL; // 根节点,初始化为NULL bst.length = 0; // 数据个数,初始化为0 创建节点(结构体数据类型),并创建具体节点实例的函数: // 节点(结构体数据类型) typedef struct Node { int value; // 数据类型为整型 struct Node *left; // 左子节点 struct Node *right; // 右子节点 } LinkNode; // 别名 // 函数:创建节点 LinkNode *createNode(int data) { LinkNode *node = (LinkNode *)malloc(sizeof(LinkNode)); // 分配节点内存空间 if(node == NULL) { perror("

Docker加速器配置指南:提升镜像下载速度的秘诀 加速安装Mysql Redis ES

在安装 Docker 镜像时,由于官方镜像下载速度较慢,我们可以使用阿里云的镜像加速器来提升下载速度。 使用阿里云镜像加速器 首先,找到并配置阿里云的镜像加速器。安装教程如下: 登录阿里云,进入容器镜像服务。直达链接获取镜像加速器地址,并按照说明进行配置。配置完成后,重新启动 Docker 服务,使镜像加速器生效。 上截图 根据自己的发行版本选择合适的配置 Docker 支持配置多个镜像加速器,当一个加速器不可用时,它会自动尝试下一个。你可以在 /etc/docker/daemon.json 文件中配置多个镜像加速器。下面是一个示例配置,其中包含多个国内的 Docker 镜像加速器: 配置多个镜像加速器 1. 创建或编辑 /etc/docker/daemon.json 文件: sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://mirror.ccs.tencentyun.com", "https://docker.mirrors.ustc.edu.cn", "https://<your-mirror-id>.mirror.aliyuncs.com" ] } EOF 一行一行执行 如果你希望在一个命令中完成,也可以用 && 连接命令: sudo mkdir -p /etc/docker && sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://<your-mirror-id>.mirror.aliyuncs.com"] } EOF 请将 <your-mirror-id> 替换为你在阿里云获得的镜像加速器 ID。 验证文件是否创建 查看文件内容,确保文件已正确创建: cat /etc/docker/daemon.json 重新启动 Docker 服务 2.在配置完成后,重新启动 Docker 服务使配置生效: sudo systemctl daemon-reload sudo systemctl restart docker 拉取 MySQL 镜像 现在可以尝试使用国内镜像源拉取 MySQL 镜像: