电力系统短期负荷预测(Python代码+数据+详细文章讲解)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 📋📋📋本文目录如下:🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🌈3 Python代码+数据+文章详细讲解 🎉4 参考文献 ​ 💥1 概述 本文包括以下5个部分 模型构建: 训练出模型,然后就可以预测任意一天的96个时刻点的负荷。 📚2 运行结果 预测日: 部分代码: max_tempe = df_weather.loc[(df_weather[0] == predict_date) & (df_weather[1] == '最高温度'), [2]].values / 20 min_tempe = df_weather.loc[(df_weather[0] == predict_date) & (df_weather[1] == '最低温度'), [2]].values / 20 avg_tempe = df_weather.loc[(df_weather[0] == predict_date) & (df_weather[1] == '平均温度'), [2]].values / 20 humidity = df_weather.loc[(df_weather[0] == predict_date) & (df_weather[1] == '湿度'), [2]].

C语言实现图书管理系统

C语言实现图书管理系统 代码如下: # include "stdio.h" # include "stdlib.h" # include "string.h" # define size 100 typedef struct { long booknumber; char bookname[15]; char auther[20]; char press[20]; float price; int nownum; }book; typedef struct { long cardnumber; char name[20]; char sex[10]; long tel; char clas[20]; char condition[20]; }Member; void Bookfound(); void Bookdel(); void Bookadd(); void Booklook(); void Booksearch(); void Memberadd(); void Memberchange(); void Bookborrow(); void Bookreturn(); //***********************************************// int login(char password[]) { static char key[10]="

编译原理实验三:算符优先分析算法的设计与实现

实验三 算符优先分析算法的设计与实现 一、 实验目的 根据算符优先分析法,对表达式进行语法分析,使其能够判断一个表达式是否正确。通过算符优先分析方法的实现,加深对自下而上语法分析方法的理解。 二、 实验要求 1、输入文法。可以是如下算术表达式的文法(你可以根据需要适当改变): E→E+T|E-T|T T→T*F|T/F|F F→(E)|i 2、对给定表达式进行分析,输出表达式正确与否的判断。 程序输入/输出示例: 输入:1+2; 输出:正确 输入:(1+2)/3+4-(5+6/7); 输出:正确 输入:((1-2)/3+4 输出:错误 输入:1+2-3+(*4/5) 输出:错误 三、实验步骤 1、参考数据结构 char *VN=0,*VT=0;//非终结符和终结符数组 char firstvt[N][N],lastvt[N][N],table[N][N]; typedef struct //符号对(P,a) { char Vn; char Vt; } VN_VT; typedef struct //栈 { VN_VT *top; VN_VT *bottom; int size; }stack; 2、根据文法求FIRSTVT集和LASTVT集 给定一个上下文无关文法,根据算法设计一个程序,求文法中每个非终结符的FirstVT 集和LastVT 集。 算符描述如下: /*求 FirstVT 集的算法*/ PROCEDURE insert(P,a); IF not F[P,a] then begin F[P,a] = true; //(P,a)进栈 end; Procedure FirstVT; Begin for 对每个非终结符 P和终结符 a do F[P,a] = false for 对每个形如 P a…或 P→Qa…的产生式 do Insert(P,a) while stack 非空 begin 栈顶项出栈,记为(Q,a) for 对每条形如 P→Q…的产生式 do insert(P,a) end; end.

转义序列字符(\0,\n,\r,\t,\v,\a,\f,\b,\\,\‘,\“,\?)详解,转义字符对应的全称,输出结果和对应的ASCII码值详解;

文章目录 前言转义序列字符(Escape Sequence Character):一、\0:空字符二、\n:换行符三、\r:回车符四、\t:水平制表符五、\v:垂直制表符六、\a:响铃七、\f:换页符八、\b:退格符九、\\:反斜杠十、\\?:问号十一、\\':单引号十二、 \\":双引号总结 前言 系统是64位Windows,编译器是MinGW64,不同的设备可能会有不一样结果,大家可以自己去试试看; 转义序列字符(Escape Sequence Character): 1、转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单引号( '); 2、转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。 一、\0:空字符 \0表示空字符(NULL),是字符串的结尾,ASCII码值(00H/0)是 字符串结束的标志 printf("hello world!\n"); 输出结果为: hello world! 系统自动在最后一个字符’\n’的后面加上一个’\0’,作为字符串结束的标志。而在执行printf函数时,每输出一个字符检查一次当前字符是否为’\0’,如果是’\0’就会停止输出。 二、\n:换行符 \n表示换行符(New line),将光标移动到下一行开头,ASCII码值(0AH/10) printf("hello world!\n"); 输出结果为: hello world! 系统在输出"hello world!"之后,遇到‘\n’会自动进行换行; 三、\r:回车符 \r表示回车符(Carriage return),将光标移动到这一行的开头。注意只是移动,没有删除任何东西,如果移动之后再添加新的内容会自动覆盖后面的内容ASCII码值(0DH/13); printf("hello world!\r"); 输出结果为: hello world! 此时的光标在在开头的位置,如果’\r’后面还有内容,则会被覆盖掉; printf("hello world!\rworld"); '\r’后面还有"world",因为光标在开头,所以此时的"hello"会被覆盖掉,所以此时的输出为: world world! 四、\t:水平制表符 \t水平制表符(Tab),空格的集合体,一般情况下,一个tab键相当于8个空格,ASCII码值(09H/9); printf("hello world! \t hello world!\n"); 输出为: hello world! hello world! 五、\v:垂直制表符 \v垂直制表符(vertical tab),让‘\v’后面的字符从下一行开始输出,且开始的列数为“\v”前一个字符所在列后面一列,ASCII码值(0B/11)。 printf("hello world! \v hello world!\n"); 输出为: hello world! hello world!

Yolopose关键点检测:自己标注数据集,制作数据集(一)

前言 最近实习需要搞的工程涉及到姿态估计,对这2天的学习做一下总结归纳,第一步就是准备数据集,查资料后发现window环境下使用的标注软件就是labelme(coco-annotator好像就可以直接输出coco格式的JSON文件,后期继续学习),labelme产出的JSON文件需要转换到coco格式的JSON文件,然后将JSON文件转成Yolo需要的txt文件,才能送工程进行训练,转来转去的个人感觉非常麻烦。 本博文主要内容是分享关键点的labelme2coco——JSON文件转换,cocoJSON2cocotxt的转换,以及coco_kpts文件夹的内容布局。 一、labelme标注关键点的使用: 用labelme标注关键点与后续的labelme2coco转换代码息息相关,假设标注对象是人体,关键点有17个:“nose”,“left_eye”, “right_eye”,“left_ear”, “right_ear”,“left_shoulder”, “right_shoulder”,“left_elbow”, “right_elbow”,“left_wrist”, “right_wrist”,“left_hip”, “right_hip”,“left_knee”, “right_knee”,“left_ankle”, “right_ankle”,label编号从1依次排到17,然后再把人用rectangle框出来label编号为bbox(Yolopose是需要画框的,并且numclass已经固定好了为person),所有的Group id都不用写,JSON文件会自动补上null但不影响我们后续操作,填写label及Group id的界面如下图所示: 选取一张图片,把17个关键点都标注出来,再把人框出来,如果对象显示半个身体,不满17个关键点,也无所谓,没有哪个部位就把那个部位标注数值空出来就可以了,一张图片操作结束后,就如下图所示: coco图片的格式是12位数字,标注完后的JSON文件用相同的名称命名即可。 二、labelme2coco_keypoints.py CSDN上的其他转换代码,我都没法直接跑,也没有相关的讲解,于是我就拿了现有的代码修改了一些,并记录了我的学习过程。先介绍一下哪些部分需要修改的,然后在附上整个代码,以17个人体关键点标注好的JSON文件为例。 "keypoints":#这是固定的,要是其他的关键点标注,则需要修改内容并且与前面的label编号一一对应。 [ "nose", "left_eye", "right_eye", "left_ear", "right_ear", "left_shoulder", "right_shoulder", "left_elbow", "right_elbow", "left_wrist", "right_wrist", "left_hip", "right_hip", "left_knee", "right_knee", "left_ankle", "right_ankle" ], "skeleton": [ [16, 14], [14, 12], [17, 15], [15, 13], [12, 13], [6, 12], [7, 13], [6, 7], [6, 8], [7, 9], [8, 10], [9, 11], [2, 3], [1, 2], [1, 3], [2, 4], [3, 5], [4, 6], [5, 7] ] json_file[-17:-5]#这是为了取文件的名称,比如000000000001,如果文件名称变了,则需要修改 json_file[-17:-4]#这是为了取文件的名称,比如000000000001.

SpringBoot3整合MyBatis报错:Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

遇到了一个 Spring Boot 3 整合 MyBatis 的问题,然后解决了。当然,这其实不是个大问题,只是自己编码时遇到了,然后总结总结分享一下。如果有遇到类似问题的,可以参考一下。 交代一下背景 最近在熟悉 Spring Boot 3 版本的代码,开发过程中遇到了一些小坑,不过很快都解决了。然后就用 Spring Boot 3 版本写了几个小 demo,比如 Web 开发、连接数据库、使用 JdbcTemplate 操作数据库,编码和测试都非常顺利,虽然是从 Spring Boot 2.x 版本升级到 Spring Boot 3,但是没有感觉到太多差别。 不过,在使用 Spring Boot 3 整合 MyBatis 时出现了一些问题,花了不少时间处理。 使用的版本如下所示。 Spring Boot 版本配置 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.0-SNAPSHOT</version> <relativePath/> <!-- lookup parent from repository --> </parent> MyBatis 版本配置 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency> 问题出现 启动时直接报错,内容如下图所示。 当然,异常信息挺多,比如无法创建 Bean 的异常等等,不过上面的几个异常并不是问题主因。这里我直接定位到最后的异常上,异常信息是: Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required 跟入发生异常的地方,代码截图如下:

计量经济学及Stata应用 陈强 第九章模型设定与数据问题习题9.5

9.5美国的汽油需求函数是否稳定?使用数据集gasoline.dta,估计美国1953-2004年的汽油需求函数: 其中,被解释变量lgasq为人均汽油消费量的对数,解释变量lincome为人均收入对数,lgasp为汽油价格指数的对数,lpnc为新车价格指数的对数,lpuc为二手车价格指数的对数。 (1)将lgasq与lgasp的时间趋势图画在一起。根据此图,在1953-2004年期间,美国的汽油需求函数是否曾出现结构变动? (2)使用OLS估计方程 (3)使用BP检验与怀特检验,检验是否存在异方差 (4)使用BG检验与Q检验,检验是否存在自相关 (5)1973年10月爆发石油危机,可能引起汽油需求的结构变动。使用虚拟变量法,检验美国的汽油需求函数是否在1974年发生结构变动。根据(3)与(4)的检验结果决定是否应使用稳健标准误 解答如下: 在Stata中导入数据集gasoline.dta,在命令窗口输入如下命令: twoway connect lgasq lgasp year,msymbol(circle) msymbol(triangle) xlabel(1950(10)2004) xline(1974) reg lgasq L.lgasq lincome lgasp lpnc lpuc estat hettest,iid estat hettest,iid rhs estat imtest,white tsset year estat bgodfrey predict e1,r wntestq e1 gen d=(year>1973) gen lgaspd=lgasp*d reg lgasq L.lgasq lincome lgasp lpnc lpuc d lgaspd test d lgaspd lgasq与lgasp的时间趋势图画在一起,结果如下: (1) 据上图发现1974年开始,lgasp的趋势线有明显的上升变化趋势,判断在1953-2004年期间美国的汽油需求函数曾可能出现结构变动。 使用OLS估计方程结果如下: (2) BP检验与怀特检验结果如下: (3)由上图,BP检验不管使用拟合值还是所有解释变量进行检验,P值都大于0.05,均不拒绝原假设,认为同方差,不存在异方差,但是怀特检验P值 为0.0321<0.05,拒绝原假设。由于BP检验假设条件方差函数为线性函数,故只是对条件方差函数的一阶近似,可能忽略了高次项。因此怀特检验在此基础上加入二次项(含平方项与交叉项),所以怀特检验结果与BP检验不一致,但对于此例我们选择相信BP检验结果,认为此汽油需求函数不存在异方差。 BG检验与Q检验结果如下: (4)由检验结果,BG检验P值为0.4603,Q检验P值为0.3380,均大于0.05,故不拒绝原假设,认为不存在自相关。 使用虚拟变量法检验是否发生结构变动结果如下: (5)由(3)(4)结果决定不使用稳健标准误,构造虚拟变量d以及虚拟变量d与汽油价格指数的对数lgasp的互动项lgaspd,引入d与lgaspd进行OLS回归然后检验d与lgaspd的联合显著性,上表显示P值为0.0015<0.01,故可在1%水平上强烈拒绝“无结构变动”的原假设,认为1974年期间,美国的汽油需求函数曾出现结构变动。

【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、问答智能客服简介 QA问答是Question-and-Answer的缩写,根据用户提出的问题检索答案,并用用户可以理解的自然语言回答用户,问答型客服注重一问一答处理,侧重知识的推理。 从应用领域视角,可将问答系统分为限定域问答系统和开放域问答系统。 根据支持问答系统产生答案的文档库、知识库,以及实现的技术分类,可分为自然语言的数据库问答系统、对话式问答系统、阅读理解系统、基于常用问题集的问答系统、基于知识库的问答系统等。 智能问答客服功能架构 典型的问答系统包含问题输入 问题理解 信息检索 信息抽取 答案排序 答案生成和结果输出等,首先由用户提出问题,检索操作通过在知识库中查询得到相关信息,并依据特定规则从提取到的信息中抽取相应的候选答案特征向量,最后筛选候选答案结果输出给用户 智能问答客服框架 1: 问题处理 问题处理流程识别问题中包含的信息,判断问题的主题信息和主题范畴归属,比如是属于一般类问题还是属于特定主题类问题,然后提取与主题相关的关键信息,比如人物信息、地点信息和时间信息等。 2 :问题映射 根据用户咨询的问题,进行问题映射消除歧义。通过字符串相似度匹配和同义词表等解决映射问题,根据需要执行拆分和合并操作。 3 :查询构建 通过对输入问题进行处理,将问题转化为计算机可以理解的查询语言,然后查询知识图谱或者数据库,通过检索获得相应备选答案。 4 :知识推理 根据问题属性进行推理,问题基本属性如果属于知识图谱或者数据库中的已知定义信息,则可以从知识图谱或者数据库中查找,直接返回答案。如果问题属性是未定义类问题,则需要通过机器算法推理生成答案。 5: 消岐排序 根据知识图谱中查询返回的一个或者多个备选答案,结合问题属性进行消歧处理和优先级排序,输出最佳答案。 二、智能医疗客服问答实战 定制性智能客服程序一般需要实现选择语料库,去除噪声信息后 根据算法对预料进行训练,最后提供人机接口问答对话,基于互联网获得的医学语料库,并通过余弦相似度基本原理,设计并开发以下问答型智能医疗客服应用程序 项目结构如下 效果展示 下面是csv文件中定义的一些病例 预先定义好的欢迎语句 运行chatrobot文件 弹出以下窗口 输出问题后点击提交咨询即可 对于语料库中没有的问题会自动推断给出答案(通常不太准确) 三、代码 部分代码如下 全部代码和数据集请点赞关注收藏后评论区留言私信 # -*- coding:utf-8 -*- from fuzzywuzzy import fuzz import sys import jieba import csv import pickle print(sys.getdefaultencoding()) import logging from fuzzywuzzy import fuzz import math from scipy import sparse from sklearn.

【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、自然语言处理与智能 自然语言处理技术是智能客服应用的基础,在自然语言处理过程中,首先需要进行分词处理,这个过程通常基于统计学理论,分词的精细化可以提升智能客服的语言处理能力,统计分词和马尔可夫模型是常用的方法,但在非常用词汇的识别精度方面稍显逊色,而精度高低直接影响分词结果的准确性,多样性分词有助于发现形式上的不合理性 自然语言处理技术是智能客服中的重要的环节,也是决定智能客服应用质量好坏和问题处理效率高低的关键因素,创建智能客服通常系统先进行大量学习来充实语言知识库,并结合各种典型案例提升系统的处理能力。智能客服系统重点关注三部分: 1:知识库完善 2:服务满意度 3:处理未知场景的自我学习能力 与传统人工客服相比 智能客服应用一般具有以下优势 可以提供24小时无间断在线服务。 具备持续自主学习能力 。 处理速度快,处理效率高, 可以应对短时大容量服务请求。 成本优势。 从用户问题到答复输出涉及的流程基本框架如下图 二、智能应用开发库如下 Gensim NLTK SpaCy TensorFlow TensorFlow是一个基于数据流编程(dataflow programming)的系统,被广泛应用于图形分类、音频处理、推荐系统和自然语言处理等场景的实现,提供基于Python语言的四种版本:CPU版本(tensorflow)、GPU加速版本(tensorflow-gpu)以及每日编译版本(tf-nightly、tf-nightly-gpu)。 Theano Keras 三、充实智能客服的情感 智能客服系统既依赖于专业性数据,也与自然处理理解等人工智能技术紧密相关,在解决用户业务诉求的过程中,难免用到用户咨询以及无法解决的问题等状况,因此提升其情感分析能力,具备多维度服务能力,对提高客户整体满意度有十分重要的积极意义,智能客服,人工客服和用户之间的关系可以简要概括如下图 智能客服处理流程如下图 四、聊天客服机器人实战 开发环境简介: 我们将使用深度学习技术构建一个聊天机器人,在包含聊天意图类别、用户输入和客服响应的数据集上进行训练。基于循环神经网络(LSTM)模型来分类用户的输入消息所属类别,然后从响应列表中基于随机算法提供响应输出。该实例在执行环境Tensorflow(2.6.0)和Python(3.6.5)中运行成功,其他需要的库为NLTK和Keras。 数据集和模型简介: 所需数据和模型说明如下: chatbot.json :预定义消息分类、输入消息和客服响应的数据文件。 wordtoken.pkl : pickle 文件,存储包含词汇列表的Python 对象。 category.pkl :pickle 文件,包含消息类别列表。 model.h5 :经过训练的模型,包含模型以及神经元权重相关信息。 数据结构 本实例数据基于JSON(JavaScript Object Notation),JSON是一种轻量级的数据交换格式,完全独立于语言,机器容易解析和生成。JSON 建立在两种结构上: 1)名称:值(name:value)的集合。在计算机语言中称为对象、记录、结构、字典、哈希表、键控列表或关联数组。 (2)值有序列表。通常实现方式为数组、向量、列表或序列,属于通用数据结构,可与通用编程语言互换。 效果展示 语料库如下 训练过程如下 用户在图形界面输入问题 客服机器人会给出相应回答 当用户提出了语料库之外的问题 客服便会显示以下回答 五、代码 项目结构如下 部分代码如下 需要全部代码请点赞关注收藏后评论区留言私信~~~ test文件 #导入库 import nltk import pickle as pk import numpy as np import json as js import random from tensorflow import keras from tensorflow.

111个Python数据分析实战项目,代码已跑通,数据可下载

写在前面: 这里整理了111个数据分析的案例,每一个都进行了严格的筛选,筛选标准如下: 1. 有干货:杜绝纯可视化、统计性分析,有一定比例的讲解性文字 2. 可跑通:所有代码均经过测试,(大概率)可以一键跑通(因为库包更新,或者链接有效性问题,或多或少会存在个别失效情况) 数据集可下载:方便大家下载至本地仔细把玩(如果不行,请看我的另一篇博文) 希望这份资料可以帮到大家呀~ 电商数据分析:只会环比下降3%的数据分析师还有救吗? 本文用一个实战案例,与大家共同探讨如何撰写一份有业务价值的分析报告 教育平台线上课程用户行为分析(含数据可视化处理) 此数据集来自泰迪杯个人技能赛,为企业真实数据。该作品为特等奖并获泰迪杯,现在目前的基础之上对其进行进一步的复盘与优化 大五人格测试数据集的探索【可视化+k-means聚类分析】 关于大五人格测试数据集的探索 本项目包含: 1.数据处理和清洗 2.数据可视化和探索性分析 3.k-means聚类分析以及结果的二维、三维可视化 针对家庭用电数据进行时序分析 以时序角度对家庭用电数据进行可视化分析 抖音用户浏览行为数据分析与挖掘 浏览数据的用户、作者、作品特征提取,特征数据分析、聚类,以及浏览行为是否点赞的二分类预测 以沈阳市产业结构与经济增长数据为例进行灰色关联分析 本项目以沈阳市产业结构与经济增长数据作为例,对灰色关联分析进行简单的python实现与应用 讯飞算法挑战赛-房屋租赁价格预测挑战赛 价格是反映一定时期内房屋租赁价格水平变动趋势和变动程度,分析预测房屋租赁价格,对于发展完善房屋租赁市场有着重要的意义 类csdn技术社区数据分析:如何刺激打赏 商分实战:互联网运营 某电子产品销售数据分析报告及RFM模型 基于商家销售情况、用户消费情况、产品销量情况等,全面的分析 百货商场用户画像描绘与价值分析 本项目基于Python实现整个项目分析的流程,包括数据预处理、数据可视化、数据挖掘、数据建模等,用户画像采用自定义的LRFMP模型,并以词云展示出来~ 在新西兰,小偷更爱什么样的车? 本文通过对新西兰偷车数据的处理,采用统计分析及pyecharts可视化的方法,结合相关实际资料进行有价值的分析 今年就业形势如何?全国数据分析岗招聘信息可视化 针对爬取结果的数据进行了数据可视化,正在求职或者找实习的小伙伴不要错过哦~ 对中国劳动力的发展趋势和行业分布的观察 基于经济统计数据,对中国劳动力的发展趋势、行业分布、薪酬差异、性别差异等进行初步的观察。 时令蔬菜有哪些?针对国内农产品批发价的时间序列分析 对国内农产品批发价进行时间序列分析,发现农产品价格变化的季节性和趋势性。涉及到的农产品品种包含5种畜禽产品、5种水果、7种水产品以及28种蔬菜。 关于【预测分析-航班延误数据】的探索 尝试探索航班信息与其是否延误之间的关联关系,并使用分类模型进行预测。 对全球贸易格局及其商品结构的初步考察 通过分析WTO和世界银行的国际贸易数据,对全球贸易格局及其商品结构进行初步的考察。 2020东京奥运会奖牌可视化 奥运健儿冲冲冲!中国队yyds! 2021年世界500强企业分析 关于2021年世界五百强排行榜的探索 上海餐饮情况分析 对上海9万条餐饮数据进行分析 Fast Food Restaurants in America 你将了解到位于美国各地的 10,000 多家不同快餐店的信息,熟悉美国的快餐文化 百货商场用户画像描绘与价值分析 本项目基于Python实现整个项目分析的流程,包括数据预处理、数据可视化、数据挖掘、数据建模等,用户画像采用自定义的LRFMP模型,并以词云展示出来~ 关于2020年各省市GDP和各省人均GDP的探索 网店订单数量预测——基于梯度提升决策树 为满足网店预测订单数量的需求,使用731天销售数据训练模型。模型交叉检验结果表明此模型能解释训练集96%的历史数据;此外模型在测试集上表现良好。 【数据分析】确定关键行为+给渠道质量打分 1.如何利用留存数字确定关键行为 2.借助AHP方法,建立渠道质量评估模型,对渠道获客的质量进行分析。 游戏APP用户行为统计分析 某游戏APP示例数据,对用户从下载安装到激活注册的数据进行统计分析 原理+代码|手把手教你用K-Means算法实现银行客户聚类

Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)

说在前面 搞了一下Jetson nano和YOLOv5,网上的资料大多重复也有许多的坑,在配置过程中摸爬滚打了好几天,出坑后决定写下这份教程供自己备忘。 事先声明,这篇文章的许多内容本身并不是原创,而是将配置过程中的文献进行了搜集整理,但是所有步骤都1:1复刻我的配置过程,包括其中的出错和解决途径,但是每个人的设备和网络上的包都是不断更新的,不能保证写下这篇文章之后的版本在兼容性上没有问题,总之提前祝自己好运! 一、烧录镜像 1、镜像选择 这里我选择的是亚博智能,它已经将镜像大部分给配置好了。 获取链接:(提取码:o6a4) 镜像的下载地址 里面已经安装好了如下的东西: CUDA10.2,CUDNNv8,tensorRT,opencv4.1.1,python2,python3,tensorflow2.3,jetpack4.4.1,yolov4-tiny和yolov4,jetson-inference包(含资料中的训练模型),jetson-gpio库,安装pytorch1.6和torchvesion0.7,安装node v15.0.1,npm7.0.3,jupterlab,jetcham,已开启VNC服务。 2、镜像烧录方法 烧录方法参考这一篇文章,很简单的。 镜像烧录方法 3、Jetson nano 系统初始化设置 插卡!开机!最好连接上屏幕,不差这几个钱了。之后的很多命令需要用到root权限,我们需要开启root用户。 sudo passwd root 之后设置密码即可 开发板需要插上网线或者插上免驱动的无线网卡联网!!! ①做个小备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo gedit /etc/apt/sources.list ②删除所有,替换为如下的东西 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe deb-src http://mirrors.

超图神经网络(HGNN)

1.超图基础概念 传统的图网络结构,两点之间就可以引入一条边链接; 但在某些特定的领域,一条边可能链接的不止两个点,我们便引入了超图 比如:同一个班级,一个班级可以连接很多个学生;一个IP下有很多个用户,我们可以用超边来表示这个班级或这个IP; 一个超图可以拥有任意数量的节点,如果所有超边都连接两个节点那么就退化为简单图; 2.多模态的超图构建 面对多模态的场景:可以做视觉连接,文本连接和社交连接,所以将这些放入到超图结构中去解决的时候会比简单图简单很多 那么,多模态数据下如何构建超图如何利用算法去求得节点特征的呢? g r o u p 1 group1 group1是一个模态的超图, g r o u p N group N groupN是另一个模态的图,将多个模态拼接到一起,构建多模态超图; 超图数据形式如上图:行是超边、列是节点 ;有连接则为1,否则为0; W是每一个超边被赋予的权值,初始化W为一个单位阵,意味着所有超边的权重都是相同的,W可以根据模型去训练,也可以固定为单位阵; 2.1节点的度: 2.2超边的度: 2.3更新公式: GCN的更新公式: 超图的更新公式: D v D_v Dv​是超边的度矩阵; D e D_e De​是顶点的度矩阵; W W W是权重矩阵; H H H是超图的邻接矩阵; X ( l ) X^{(l)} X(l)是节点第L层的特征; θ ( l ) \theta^{(l)} θ(l)是全连接层;(对 X ( l ) X^{(l)} X(l)进行特征转换) 举个实际的例子: 第一步:因为 θ ( l ) \theta^{(l)} θ(l)是个可训练参数,先不去看 θ ( l ) \theta^{(l)} θ(l);

飞机大战--python基础项目(附源码和原理讲解)

声明 此项目是对python基础语法和高级语法的结合,学完python基础和高级可以拿此项目练手,说的比较细,涵盖了pygame一些知识点的讲解。 项目展示 安装准备 这里我们要用到pygame模块,pygame模块是python中针对电子游戏开发的模块,功能十分完善,安装pygame模块的方法(针对windows用户):直接在终端输入 pip install pygame,如果嫌慢可以用国内镜像源,这里我拿清华大学举例子,具体方法是: pip install pygame -i https://pypi.tuna.tsinghua.edu.cn/simple/ 安装成功后会显示successfully,也可以输入pip list 进行查看 素材准备 在飞机大战开始前我们会需要一些飞机图片,背景图片等等作为素材导入到游戏中,来让游戏更加生动精彩,素材图片你们可以自己去收集,这里我提供一些素材图片,地址如下: https://pan.baidu.com/s/1pMM0beb 开始准备 项目准备 1.新建一个飞机大战的文件夹; 2.在里面新建一个自定义名字的python文件; 3.将刚才的游戏素材图片导入。 游戏第一印象 1.把一些静止的图象绘制到游戏窗口中 2.根据用户的交互或其他情况,移动这些图象,产生动画效果 3.根据图象是否发生重叠,判断敌机是否被摧毁,以及自己的战机是否被摧毁等情况 游戏原理 绘制窗口 初始化和退出 这里我们需要使用到pygame提供的init方法进行初始化,quit来退出 pygame.init() 导入并初始化所有pygame模块,以便后面我们需要用到 pygame.quit() 卸载所有之前pygame加载的模块,在游戏结束之前调用,及时释放内存空间 两个方法之前就是我们需要游戏代码的地方。 游戏中的坐标系 这里我自己画一个图来让大家理解 在游戏里,所有可见的元素都是以矩形区域来描述位置的,要描述一个矩形区域需要四个变量: (x,y)(width,height) ;(x,y)是定义矩形的左上角的坐标,(width,height)是矩形窗口的宽和高,既准确大小 pygame专门提供一个类pygame.Rect用来描述矩形区域(注意Rect大小写),pygame.Rect里面包含了x,y,width,height,size等属性,定义一个plane_rect来描述自己飞机的位置和大小,举例如下: import pygame # 不执行pygame.init()同样可以使用Rect方法 plane_rect = pygame.Rect(100, 50, 125, 150) print(plane_rect.x) print(plane_rect.y) print(plane_rect.width) print(plane_rect.height) 输出如下: 100 50 125 150 创建游戏主窗口 pygame专门提供了一个模块pygame.display用于创建,管理游戏窗口 import pygame pygame.init() screen = pygame.

【路径规划】局部路径规划算法——DWA算法(动态窗口法)|(含python实现 | c++实现)

文章目录 参考资料1. DWA算法原理1.1 简介1.2 算法原理1. 速度采样2. 轨迹预测(轨迹推算)3. 轨迹评价 2. Python实现2.1 参数配置2.2 机器人运动学模型2.3 DWA算法类实现2.4 画图2.5 主函数 3. c++实现4. 总结 参考资料 The Dynamic Window Approach to Collision Avoidance基于室内多障碍物复杂环境的路径规划方法研究基于改进A*算法与改进DWA算法的无人驾驶汽车路径规划研究室内移动机器人路径规划方法研究机器人局部避障的动态窗口法 1. DWA算法原理 1.1 简介 动态窗口算法(Dynamic Window Approaches, DWA) 是基于预测控制理论的一种次优方法,因其在未知环境下能够安全、有效的避开障碍物, 同时具有计算量小, 反应迅速、可操作性强等特点。 DWA算法属于局部路径规划算法。 DWA算法的核心思想是根据移动机器人当前的位置状态和速度状态在速度空间 ( v , ω ) (v, \omega) (v,ω) 中确定一个满足移动机器人硬件约束的采样速度空间,然后计算移动机器人在这些速度情况下移动一定时间内的轨迹, 并通过评价函数对该轨迹进行评价,最后选出评价最优的轨迹所对应的速度来作为移动机器人运动速度, 如此循环直至移动机器人到达目标点。 对于无人驾驶汽车而言,情况类似,将车辆的位置变化转化为线速度和角速度控制,避障问题转变成空间中的运动约束问题,这样可以通过运动约束条件选择局部最优的路径。 1.2 算法原理 DWA算法的思路是:先通过机器人数学模型采集机器人速度样本,并预测模拟出在样本速度下一段时间内生成的运动轨迹, 并对这些运动轨迹进行标准评价, 选择出一组最优轨迹,机器人按照最优轨迹运动。机器人的运动姿态和方向是由机器人当前的线速度及角速度 (转向速度) 共同决定的。 DWA算法主要包括3个步骤:速度采样、轨迹预测(推算)、轨迹评价。 1. 速度采样 由于移动机器人硬件、结构和环境等限制条件,移动机器人的速度采样空间 V s \mathbf{V}_{\mathrm{s}} Vs​ 中 ( v , ω ) (v, \omega) (v,ω) 有一定的范围限制。该限制主要分为三大类:

JAVA结课作品——超市管理系统

项目描述:一个简单的超市管理系统,能够实现用户登入和注册功能,共分为前台和后台两个主要界面,普通用户界面操作权限收到限制,只能对商品和销售记录进行简单查询操作,后台中可以进行商品的删除、修改、查询,可以查看用户信息,可以修改用户信息。具体的代码如下: TooLUtil工具类:在该类中定义一些方法,用于判断字符串是否为空、获取当前时间、对时间进行格式转化,同时获取当前用户登入,具体代码如下所示: package cn.qinlimei.goodmanager.utils; import javax.xml.crypto.Data; import java.text.Format; import java.text.SimpleDateFormat; import java.util.Date; /** * 在该类中定义一些方法,用于判断字符串是否为空、获取当前时间、对时间进行格式转化 * 获取当前用户登入 */ public class ToolUtil { //判断字符串是否为空 public static boolean isEmpty(String str){ if(str!=null&& !"".equals(str.trim())){//字符串两端的空格去掉 return false;//不是空的返回false } return true;//空的话就返回真 } //获取当前系统时间所对应的毫秒值 public static Long getTime(){ long time=System.currentTimeMillis(); return time; } //将一个long类型的毫秒值转换成指定格式的日期字符串 public static String getDataByTime(long time){ SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd"); Date date=new Date(time); String value=format.format(date); return value; } } LoginFrm类:实现用户登入的类 package cn.qinlimei.goodmanager.jframe; import cn.qinlimei.goodmanager.dao.UserDao; import cn.

anaconda完全卸载方法

完全卸载步骤 进入命令行模式删除虚拟环境下载anaocnda-clean执行anaconda-clean --yes执行卸载程序删除剩余相关文件删除注册表 由于自己的anaconda版本太老了一直没更新,想更新一下,但未更新成功,于是想要重新卸载安装,本次卸载总结了他人方法,现归纳出一套本人亲测可行的完全卸载方法。 进入命令行模式 记住这里一定要打开anaconda的命令行模式,并用管理员身份进入。 删除虚拟环境 使用以下命令查询已建的虚拟环境,base是基础环境,不用更改,建议将其他还需使用的虚拟环境备份一下(虚拟环境都在envs下),后续重装后可以导入继续使用,这里为了彻底卸载,是要将其删除掉的。 conda info --envs 使用以下命令将虚拟环境都删除掉。 conda remove -n 虚拟环境名称 --all 比如:conda remove -n py29 --all 下载anaocnda-clean conda install -c anaconda anaconda-clean 执行anaconda-clean --yes anaconda-clean --yes 如果执行有报错的,自己手动去相应路径删掉就行。同时执行这个命令会生成一个backup,后续将其删掉就行。 执行卸载程序 去原安装路径找到卸载程序,右键管理员执行。 删除剩余相关文件 检查自己的c盘和d盘是否还有相关文件,将anaconda相关的文件都删除掉,包括之前生成的backup。 删除注册表 我这里使用的是火绒安全,使用方法可参考以下链接: https://jingyan.baidu.com/article/4f7d5712d9f0145b201927c7.html 到此,anaconda就彻底卸载干净了!

数据结构 最小生成树 prim算法(普里姆算法)C语言实现

普里姆(prim)算法 一、定义二、思路三、代码实现四、代码解析 一、定义 普里姆算法是一种构造性算法。假设G = (V, E)是一个具有n个顶点的带权连通图,T = (U,TE)是最小生成树,其中U是T的顶点集,TE是T的边集,则由G构造从起始点v出法的最小生成树T的步骤如下: 初始化U = { v },以v到其他顶点的所有边为侯选边。重复以下步骤(n - 1)次,使得其他(n - 1)个顶点被加入U中。 (1). 从候选边中挑选权值最小的边加入TE,设该边在V—U中的顶点是k,将k加入U中。 (2). 考察当前V—U中的所有顶点j,修改侯选边,若(k,j)的权值小于原来和顶点关联的侯选边,则用(k,j)取代后者作为侯选边。 二、思路 我们可以将定义理解为:将图的所有顶点分为两类,A类(保存已经查找过的顶点),B类(保存未查找过的顶点),从任一顶点开始,并将其从B类移至A类,然后开始寻找B类中(的顶点)到A类顶点之间权值最小的顶点,将其从B类中移至A类,重复上述操作,直至B类中没有顶点。所走过的顶点和边就是该连通图的最小生成树。 由此图为例: 初始状态 A类 = { } B类 = { 0, 1, 2, 3, 4, 5, 6 } 假设从顶点2开始遍历 A类 = { 2 } B类 = { 0, 1, 3, 4, 5, 6 } 遍历第一次后 A类 = {2, 3 } B类 = { 0, 1, 4, 5, 6 }

C语言代码:玫瑰花

前文 在古希腊神话中,玫瑰花集爱与美于一身,既是美神的化身,又溶进了爱神的血液,所以它所代表的含义是爱情。 我们应该用玫瑰花来表达我们的爱意,但是好多的恋人都是因为异地而没有办法去买一束新鲜的玫瑰去送给自己的爱人。 女孩子需要的只是一个态度而已,所以!我们男孩子要发挥自己的理性脑瓜来准备一份特殊的玫瑰何乐而不为呢! so!接下来让我们用代码的方式亲手送出自己的那一份爱!❤ 运行结果 (注意!!!!!!!运行出来如果玫瑰花太大的话!在控制台里摁着ctrl然后滑动鼠标的滚轮!一定要慢慢滚动!!!) 正文 准备事项 1.你得有个电脑 2.你得会操作电脑 3.你得会下载软件 4.是什么软件呢?(请看图片) ↑也行 ↓也行 总之!这俩玩意儿都行! 代码 #include <stdio.h> #include <math.h> #include <windows.h> const int max_iterations = 128; const float stop_threshold = 0.01f; const float grad_step = 0.01f; const float clip_far = 10.0f; const float PI = 3.14159265359f; const float PI2 = 6.28318530718f; const float DEG_TO_RAD = PI / 180.0f; typedef struct { float x, y; } vec2; typedef struct { float x, y, z; } vec3; typedef struct { float m[9]; } mat3; const vec3 light_pos = { 20.

(初学者强烈推荐)Ubuntu 配置hadoop 超详细教程(全过程)

引言 本文的教程仅为个人的操作经验所写,每个人下载的版本不一样,所以会出现不同的情况异常等,如有问题可询问博主或百度查找解决方法。 本机的配置环境如下: hadoop(3.3.1) jdk版本(jdk-8) Linux(64位) 1、安装jdk 在Ubuntu中用压缩包安装jdk较为麻烦,需要配置系统环境变量和配置文件,一步出错可能无法使用。所以本文在Ubuntu中使用命令安装jdk。其他方法安装jdk也可。 打开终端 执行以下命令: sudo apt-get install openjdk-8-jdk ​ 输入y回车,等待安装完成 java -version 安装完成后用 java -version 检验是否安装成功,如果如下图则安装成功 当想要卸载jdk则使用以下命令:sudo apt remove openjdk* ​ 打开环境文件 sudo gedit ~/.bashrc 文件顶部加入以下语句并保存 sudo apt-get install openjdk-8-jdk 命令安装的jdk默认路径为 /usr/lib/jvm/java-8-openjdk-amd64 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 #目录要换成自己jdk所在目录 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 使环境生效 source ~/.bashrc 使用 echo $JAVA_HOME 显示JAVA_HOME即为成功​ 2、安装ssh免密码登录 sudo apt-get install ssh openssh-server ​ 安装完毕后,在终端中依次进行继以下命令操作 cd ~/.ssh/ 生成密钥 ssh-keygen -t rsa 将秘钥加入到授权中

书店销售管理系统----数据库原理及应用综合实验

枯木逢春犹再发,人无两度再少年🍂 系统主要模块如下: (1) 书店销售管理系统设计与实现—图书入库管理及查询统计 图书入库管理:维护入库图书信息(如图书编号、书名、作者、价格、图书分类、出版社等)。自动计算库存。 图书查询统计:按图书分类,出版社、书名、作者等条件查询图书的详细信息。支持模糊查询。 (2) 书店销售管理系统设计与实现—销售管理 销售管理:销售过的图书都记录在销售列表中,方便统计收入。图书销售后,实时记录图书库存,按每天统计销售额、按每个月或季度统计销售额并生成报表,并能根据销售数量统计生成畅销书名单。 (3) 书店销售管理系统设计与实现—书店会员管理 书店会员管理:提供会员信息的维护功能,可设置会员等级,不同级别的会员享受不同的折扣,可以变更折扣额度。 目录 一、数据字典 1.图书实体表 2.会员实体表 3. 会员类型表 4. 销售实体表 5. 销售明细实体表 二、概念模型设计 1. 图书基本信息E-R图 2. 会员实体E-R图 3.会员类型E-R图 4.销售实体E-R图 5.销售明细E-R图 6.总体E-R图 三、逻辑结构设计 逻辑模型图 四、物理结构设计 设计与实现 表的创建 数据插入 五、SQL查询 1. 分组统计、模糊查询 2. 天销售额 3. 天销售榜前三 4.月销售额 5. 月销售榜前三 6.自动计算库存,支付金额(触发器) 一、数据字典 1. 图书实体表 字段名别名数据类型长度约束图书编号bookIsbn字符型20位主码图书名称bookName字符型20位not null作者bookAuthor字符型20位not null图书类别bookType字符型20位not null价格bookPrice浮点型\not null出版社bookPublisher字符型20位not null库存bookCount整型\not null 2.会员实体表 字段名别名数据类型长度约束会员idvipId字符型20位主码会员等级vipLevel整型\外键会员名字vipName字符型20位not null会员性别vipSex字符型20位not null会员年龄vipAge字符型20位not null会员电话vipTel字符型20位not null 3. 会员类型表 字段名别名数据类型长度约束会员等级vipId字符型20位主键会员等级名vipName字符型20位not null会员等级折扣vipLevelDisCountfloat\not null 4.