用神经网络分类上和下
( A, B )---3*30*2---( 1, 0 )( 0, 1 )
做一个网络,输入为3个点,训练集A,B各有4张图片。让B的4张图片全是0.排列组合A,记录迭代次数平均值的变化。收敛误差为7e-4,每个网络收敛199次。
其中得到一组数据
| 差值结构 | 1-A-B | 迭代次数 | 差值结构 | 2-A-B | 迭代次数 | |||||
| 0 | 0 | 0 | 0*3*1*6-0*0*0*0 | 6394.4774 | 1 | 1 | 0 | 6*1*3*0-0*0*0*0 | 7134.0452 | |
| 0 | 1 | 1 | 0*3*1*6-0*0*0*0 | 6394.4774 | 0 | 0 | 1 | 6*1*3*0-0*0*0*0 | 7134.0452 | |
| 0 | 0 | 1 | 0*3*1*6-0*0*0*0 | 6394.4774 | 0 | 1 | 1 | 6*1*3*0-0*0*0*0 | 7134.0452 | |
| 1 | 1 | 0 | 0*3*1*6-0*0*0*0 | 6394.4774 | 0 | 0 | 0 | 6*1*3*0-0*0*0*0 | 7134.0452 | |
| 0 | 0 | 0 | 0*6*4*3-0*0*0*0 | 6408.3869 | 0 | 1 | 1 | 3*4*6*0-0*0*0*0 | 7174.8894 | |
| 1 | 1 | 0 | 0*6*4*3-0*0*0*0 | 6408.3869 | 1 | 0 | 0 | 3*4*6*0-0*0*0*0 | 7174.8894 | |
| 1 | 0 | 0 | 0*6*4*3-0*0*0*0 | 6408.3869 | 1 | 1 | 0 | 3*4*6*0-0*0*0*0 | 7174.8894 | |
| 0 | 1 | 1 | 0*6*4*3-0*0*0*0 | 6408.3869 | 0 | 0 | 0 | 3*4*6*0-0*0*0*0 | 7174.8894 | |
| 0 | 1 | 1 | 3*1*6*0-0*0*0*0 | 6488.0352 | 0 | 0 | 0 | 0*6*1*3-0*0*0*0 | 7141.7538 | |
| 0 | 0 | 1 | 3*1*6*0-0*0*0*0 | 6488.0352 | 1 | 1 | 0 | 0*6*1*3-0*0*0*0 | 7141.7538 | |
| 1 | 1 | 0 | 3*1*6*0-0*0*0*0 | 6488.0352 | 0 | 0 | 1 | 0*6*1*3-0*0*0*0 | 7141.7538 | |
| 0 | 0 | 0 | 3*1*6*0-0*0*0*0 | 6488.0352 | 0 | 1 | 1 | 0*6*1*3-0*0*0*0 | 7141.7538 | |
| 1 | 1 | 0 | 6*4*3*0-0*0*0*0 | 6390.9497 | 0 | 0 | 0 | 0*3*4*6-0*0*0*0 | 7112.809 | |
| 1 | 0 | 0 | 6*4*3*0-0*0*0*0 | 6390.9497 | 0 | 1 | 1 | 0*3*4*6-0*0*0*0 | 7112.809 | |
| 0 | 1 | 1 | 6*4*3*0-0*0*0*0 | 6390.9497 | 1 | 0 | 0 | 0*3*4*6-0*0*0*0 | 7112.809 | |
| 0 | 0 | 0 | 6*4*3*0-0*0*0*0 | 6390.9497 | 1 | 1 | 0 | 0*3*4*6-0*0*0*0 | 7112.809 | |
| 0 | 0 | 1 | 1*6*0*3-0*0*0*0 | 6462.3166 | 0 | 1 | 1 | 3*0*6*1-0*0*0*0 | 7140.9397 | |
| 1 | 1 | 0 | 1*6*0*3-0*0*0*0 | 6462.3166 | 0 | 0 | 0 | 3*0*6*1-0*0*0*0 | 7140.9397 | |
| 0 | 0 | 0 | 1*6*0*3-0*0*0*0 | 6462.3166 | 1 | 1 | 0 | 3*0*6*1-0*0*0*0 | 7140.9397 | |
| 0 | 1 | 1 | 1*6*0*3-0*0*0*0 | 6462.3166 | 0 | 0 | 1 | 3*0*6*1-0*0*0*0 | 7140.9397 | |
| 1 | 0 | 0 | 4*3*0*6-0*0*0*0 | 6486.1156 | 1 | 1 | 0 | 6*0*3*4-0*0*0*0 | 7181.9447 | |
| 0 | 1 | 1 | 4*3*0*6-0*0*0*0 | 6486.1156 | 0 | 0 | 0 | 6*0*3*4-0*0*0*0 | 7181.9447 | |
| 0 | 0 | 0 | 4*3*0*6-0*0*0*0 | 6486.1156 | 0 | 1 | 1 | 6*0*3*4-0*0*0*0 | 7181.9447 | |
| 1 | 1 | 0 | 4*3*0*6-0*0*0*0 | 6486.1156 | 1 | 0 | 0 | 6*0*3*4-0*0*0*0 | 7181.9447 | |
| 1 | 1 | 0 | 6*0*3*1-0*0*0*0 | 6379.392 | 0 | 0 | 1 | 1*3*0*6-0*0*0*0 | 7126.4573 | |
| 0 | 0 | 0 | 6*0*3*1-0*0*0*0 | 6379.392 | 0 | 1 | 1 | 1*3*0*6-0*0*0*0 | 7126.4573 | |
| 0 | 1 | 1 | 6*0*3*1-0*0*0*0 | 6379.392 | 0 | 0 | 0 | 1*3*0*6-0*0*0*0 | 7126.4573 | |
| 0 | 0 | 1 | 6*0*3*1-0*0*0*0 | 6379.392 | 1 | 1 | 0 | 1*3*0*6-0*0*0*0 | 7126.4573 | |
| 0 | 1 | 1 | 3*0*6*4-0*0*0*0 | 6444.2764 | 1 | 0 | 0 | 4*6*0*3-0*0*0*0 | 7173.6533 | |
| 0 | 0 | 0 | 3*0*6*4-0*0*0*0 | 6444.2764 | 1 | 1 | 0 | 4*6*0*3-0*0*0*0 | 7173.6533 | |
| 1 | 1 | 0 | 3*0*6*4-0*0*0*0 | 6444.2764 | 0 | 0 | 0 | 4*6*0*3-0*0*0*0 | 7173.6533 | |
| 1 | 0 | 0 | 3*0*6*4-0*0*0*0 | 6444.2764 | 0 | 1 | 1 | 4*6*0*3-0*0*0*0 | 7173.6533 | |
这16组数据,左侧为第1列,右侧的为第2列。第1列的迭代次数全都小于第2列, 并且第1列和第2列的差值结构都是上下对称的,比如前3组
| 1 | 2 | |||||
| 0 | 0 | 0 | 1 | 1 | 0 | |
| 0 | 1 | 1 | 0 | 0 | 1 | |
| 0 | 0 | 1 | 0 | 1 | 1 | |
| 1 | 1 | 0 | 0 | 0 | 0 | |
| 0 | 0 | 0 | 0 | 1 | 1 | |
| 1 | 1 | 0 | 1 | 0 | 0 | |
| 1 | 0 | 0 | 1 | 1 | 0 | |
| 0 | 1 | 1 | 0 | 0 | 0 | |
| 0 | 1 | 1 | 0 | 0 | 0 | |
| 0 | 0 | 1 | 1 | 1 | 0 | |
| 1 | 1 | 0 | 0 | 0 | 1 | |
| 0 | 0 | 0 | 0 | 1 | 1 |
左右两侧的结构是对称的,但迭代次数确不相同,这种对称性被破缺了,神经网络到底是如何判断哪个是上,哪个是下的?
比较二者的结构
| 0*3*1*6-0*0*0*0 | ||||||||||
| 0 | 0 | 0 | → | 0 | 1 | 1 | → | 1 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | ||
| 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | ||
| 1 | 1 | 0 | ||||||||
如果略去全是0的一行,第1列的结构都可以变换成上三角矩阵。
| 3*4*6*0-0*0*0*0 | ||||||||||||||
| 0 | 1 | 1 | → | 0 | 1 | 1 | → | 1 | 1 | 0 | → | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | |||
| 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | |||
| 0 | 0 | 0 |
而第2列的结构经变换后得到的都是下三角矩阵。
所以上三角矩阵的迭代次数是小于下三角矩阵的迭代次数的,
| A | B | |||||
| 1 | 1 | 0 | 〈 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 | 0 | |
| 0 | 0 | 1 | 1 | 1 | 0 | |
| 0 | 0 | 0 | 0 | 1 | 1 |
质心越低的迭代次数越大。所以对于这种特别的情况,用神经网络分类上下是可能的。尽管差值结构可以按照行1→2→3→4→1的顺序随意的变换而不改变迭代次数,但这种变换本身并不会改变形态内在的上下特征,这意味这神经网络各行的权重是不同的。而差值结构的列都可以按照1→2→3→1的顺序变换而不改变迭代次数,如
| 0 | 0 | 0 | 0*3*1*6-0*0*0*0 | 6394.477387 |
| 0 | 1 | 1 | 0*3*1*6-0*0*0*0 | 6394.477387 |
| 0 | 0 | 1 | 0*3*1*6-0*0*0*0 | 6394.477387 |
| 1 | 1 | 0 | 0*3*1*6-0*0*0*0 | 6394.477387 |
| 0 | 0 | 0 | 0*6*2*5-0*0*0*0 | 6478.336683 |
| 1 | 1 | 0 | 0*6*2*5-0*0*0*0 | 6478.336683 |
| 0 | 1 | 0 | 0*6*2*5-0*0*0*0 | 6478.336683 |
| 1 | 0 | 1 | 0*6*2*5-0*0*0*0 | 6478.336683 |
| 0 | 0 | 0 | 0*5*4*3-0*0*0*0 | 6415.944724 |
| 1 | 0 | 1 | 0*5*4*3-0*0*0*0 | 6415.944724 |
| 1 | 0 | 0 | 0*5*4*3-0*0*0*0 | 6415.944724 |
| 0 | 1 | 1 | 0*5*4*3-0*0*0*0 | 6415.944724 |
这说明神经网络各列是同权的,无差别,所以如果神经网络有质心,应该是到边的而不是到中心的。
| 差值结构 | 1-A-B | 迭代次数 | 差值结构 | 2-A-B | 迭代次数 | ||||||||||||||
| 1 | 1 | 0 | 0 | 0 | 0 | 0*3*1*6-0*0*0*0 | 6394.4774 | 1 | 1 | 0 | 6*1*3*0-0*0*0*0 | 7134.0452 | 0 | 0 | 1 | ||||
| 0 | 1 | 1 | 0 | 1 | 1 | 0*3*1*6-0*0*0*0 | 6394.4774 | 0 | 0 | 1 | 6*1*3*0-0*0*0*0 | 7134.0452 | 0 | 1 | 1 | ||||
| 0 | 0 | 1 | 0 | 0 | 1 | 0*3*1*6-0*0*0*0 | 6394.4774 | 0 | 1 | 1 | 6*1*3*0-0*0*0*0 | 7134.0452 | 1 | 1 | 0 | ||||
| 1 | 1 | 0 | 0*3*1*6-0*0*0*0 | 6394.4774 | 0 | 0 | 0 | 6*1*3*0-0*0*0*0 | 7134.0452 | ||||||||||
| 0 | 1 | 1 | 0 | 0 | 0 | 0*6*4*3-0*0*0*0 | 6408.3869 | 0 | 1 | 1 | 3*4*6*0-0*0*0*0 | 7174.8894 | 1 | 0 | 0 | ||||
| 1 | 1 | 0 | 1 | 1 | 0 | 0*6*4*3-0*0*0*0 | 6408.3869 | 1 | 0 | 0 | 3*4*6*0-0*0*0*0 | 7174.8894 | 1 | 1 | 0 | ||||
| 1 | 0 | 0 | 1 | 0 | 0 | 0*6*4*3-0*0*0*0 | 6408.3869 | 1 | 1 | 0 | 3*4*6*0-0*0*0*0 | 7174.8894 | 0 | 1 | 1 | ||||
| 0 | 1 | 1 | 0*6*4*3-0*0*0*0 | 6408.3869 | 0 | 0 | 0 | 3*4*6*0-0*0*0*0 | 7174.8894 | ||||||||||
| 1 | 1 | 0 | 0 | 1 | 1 | 3*1*6*0-0*0*0*0 | 6488.0352 | 0 | 0 | 0 | 0*6*1*3-0*0*0*0 | 7141.7538 | 0 | 0 | 1 | ||||
| 0 | 1 | 1 | 0 | 0 | 1 | 3*1*6*0-0*0*0*0 | 6488.0352 | 1 | 1 | 0 | 0*6*1*3-0*0*0*0 | 7141.7538 | 0 | 1 | 1 | ||||
| 0 | 0 | 1 | 1 | 1 | 0 | 3*1*6*0-0*0*0*0 | 6488.0352 | 0 | 0 | 1 | 0*6*1*3-0*0*0*0 | 7141.7538 | 1 | 1 | 0 | ||||
| 0 | 0 | 0 | 3*1*6*0-0*0*0*0 | 6488.0352 | 0 | 1 | 1 | 0*6*1*3-0*0*0*0 | 7141.7538 | ||||||||||
| 0 | 1 | 1 | 1 | 1 | 0 | 6*4*3*0-0*0*0*0 | 6390.9497 | 0 | 0 | 0 | 0*3*4*6-0*0*0*0 | 7112.809 | 1 | 0 | 0 | ||||
| 1 | 1 | 0 | 1 | 0 | 0 | 6*4*3*0-0*0*0*0 | 6390.9497 | 0 | 1 | 1 | 0*3*4*6-0*0*0*0 | 7112.809 | 1 | 1 | 0 | ||||
| 1 | 0 | 0 | 0 | 1 | 1 | 6*4*3*0-0*0*0*0 | 6390.9497 | 1 | 0 | 0 | 0*3*4*6-0*0*0*0 | 7112.809 | 0 | 1 | 1 | ||||
| 0 | 0 | 0 | 6*4*3*0-0*0*0*0 | 6390.9497 | 1 | 1 | 0 | 0*3*4*6-0*0*0*0 | 7112.809 | ||||||||||
| 1 | 1 | 0 | 0 | 0 | 1 | 1*6*0*3-0*0*0*0 | 6462.3166 | 0 | 1 | 1 | 3*0*6*1-0*0*0*0 | 7140.9397 | 0 | 0 | 1 | ||||
| 0 | 1 | 1 | 1 | 1 | 0 | 1*6*0*3-0*0*0*0 | 6462.3166 | 0 | 0 | 0 | 3*0*6*1-0*0*0*0 | 7140.9397 | 0 | 1 | 1 | ||||
| 0 | 0 | 1 | 0 | 0 | 0 | 1*6*0*3-0*0*0*0 | 6462.3166 | 1 | 1 | 0 | 3*0*6*1-0*0*0*0 | 7140.9397 | 1 | 1 | 0 | ||||
| 0 | 1 | 1 | 1*6*0*3-0*0*0*0 | 6462.3166 | 0 | 0 | 1 | 3*0*6*1-0*0*0*0 | 7140.9397 | ||||||||||
| 0 | 1 | 1 | 1 | 0 | 0 | 4*3*0*6-0*0*0*0 | 6486.1156 | 1 | 1 | 0 | 6*0*3*4-0*0*0*0 | 7181.9447 | 1 | 0 | 0 | ||||
| 1 | 1 | 0 | 0 | 1 | 1 | 4*3*0*6-0*0*0*0 | 6486.1156 | 0 | 0 | 0 | 6*0*3*4-0*0*0*0 | 7181.9447 | 1 | 1 | 0 | ||||
| 1 | 0 | 0 | 0 | 0 | 0 | 4*3*0*6-0*0*0*0 | 6486.1156 | 0 | 1 | 1 | 6*0*3*4-0*0*0*0 | 7181.9447 | 0 | 1 | 1 | ||||
| 1 | 1 | 0 | 4*3*0*6-0*0*0*0 | 6486.1156 | 1 | 0 | 0 | 6*0*3*4-0*0*0*0 | 7181.9447 | ||||||||||
| 1 | 1 | 0 | 1 | 1 | 0 | 6*0*3*1-0*0*0*0 | 6379.392 | 0 | 0 | 1 | 1*3*0*6-0*0*0*0 | 7126.4573 | 0 | 0 | 1 | ||||
| 0 | 1 | 1 | 0 | 0 | 0 | 6*0*3*1-0*0*0*0 | 6379.392 | 0 | 1 | 1 | 1*3*0*6-0*0*0*0 | 7126.4573 | 0 | 1 | 1 | ||||
| 0 | 0 | 1 | 0 | 1 | 1 | 6*0*3*1-0*0*0*0 | 6379.392 | 0 | 0 | 0 | 1*3*0*6-0*0*0*0 | 7126.4573 | 1 | 1 | 0 | ||||
| 0 | 0 | 1 | 6*0*3*1-0*0*0*0 | 6379.392 | 1 | 1 | 0 | 1*3*0*6-0*0*0*0 | 7126.4573 | ||||||||||
| 0 | 1 | 1 | 0 | 1 | 1 | 3*0*6*4-0*0*0*0 | 6444.2764 | 1 | 0 | 0 | 4*6*0*3-0*0*0*0 | 7173.6533 | 1 | 0 | 0 | ||||
| 1 | 1 | 0 | 0 | 0 | 0 | 3*0*6*4-0*0*0*0 | 6444.2764 | 1 | 1 | 0 | 4*6*0*3-0*0*0*0 | 7173.6533 | 1 | 1 | 0 | ||||
| 1 | 0 | 0 | 1 | 1 | 0 | 3*0*6*4-0*0*0*0 | 6444.2764 | 0 | 0 | 0 | 4*6*0*3-0*0*0*0 | 7173.6533 | 0 | 1 | 1 | ||||
| 1 | 0 | 0 | 3*0*6*4-0*0*0*0 | 6444.2764 | 0 | 1 | 1 | 4*6*0*3-0*0*0*0 | 7173.6533 | ||||||||||
相关文章:
用神经网络分类上和下
( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 做一个网络,输入为3个点,训练集A,B各有4张图片。让B的4张图片全是0.排列组合A,记录迭代次数平均值的变化。收敛误差为7e-4,每个网络收敛199次。 其中得到一组数据 差值结构 1-A-B 迭代次…...
VS Code 1.75 发布!
欢迎使用 2023 年 1 月版的 Visual Studio Code。希望您喜欢此版本中的许多更新,其中一些主要亮点包括:配置文件、VS Marketplace 签名、辅助功能改进、更轻松地调整多视图大小、树视图搜索历史、新的 Git 命令等等。让我们一起看看吧! 配置文…...
Vue2仿网易云风格音乐播放器(附源码)
Vue2仿网易云风格音乐播放器1、整体效果2、使用技术3、实现内容4、源码5、使用图片1、整体效果 2、使用技术 使用了HTML5 CSS3进行页面布局及美化使用Vue2进行数据渲染与页面交互使用Axios发送http请求获取数据 3、实现内容 实现了搜索歌曲功能,输入歌手或歌曲关…...
Spring相关面试题
文章目录请谈一下你对 spring 的理解?说一下 Spring 的核心是什么?请谈 一下你对 Spring IOC 和 和 AOP 的理解?请说一下 Spring 的 的 Bean 作用域?请谈一下Spring中bean对象的生命周期?Spring中的事务是如何实现的 &…...
操作符详解(上篇)
前言小伙伴们大家好,随着对c的不断学习今天我们将来学习操作符。在初始c语言中也介绍过操作符但也只是点到即可,今天我们将详细了解操作符。操作符分类:算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号…...
采样电路的3个组成部分
采样电路的使用实际上是电路的一个闭环控制过程,也可以理解为一个负反馈过程,采集的信号被传送到主控制芯片进行调整。今天就来为您介绍一下采样电路的三个组成部分分析!一起来看看吧! 这里的采样实际上分为电流采样、电压采样、…...
ffmpeg硬解码与软解码的压测对比
文章目录ffmpeg硬解码与软解码的压测一、基本知识二、压测实验1. 实验条件及工具说明2. 压测脚本3. 实验数据结果ffmpeg硬解码与软解码的压测 一、基本知识 本文基于intel集显进行压测 软解码:cpu对视频进行解码硬解码:显卡或者多媒体处理芯片对视频进…...
操作符——“C”
各位CSDN的uu们你们好呀,今天,总算是要到我们的操作符啦,在C语言中,操作符是一个极为复杂的东西,下面,就让我们进入操作符的世界吧 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符…...
YSP的UI界面设计
文章目录一、准备工作二、UI设计1.QPushButton:三、遇到的bug一、准备工作 1.MSVC和MinGW上编译的项目,不能用另一个编译器进行编译 2.若要使用MSVC编译器,需要下载对应版本的VS 见此篇:https://blog.csdn.net/Copperxcx/article…...
干货 | 什么是磁传感器?最常用的磁传感器类型及应用
1、什么是磁传感器?磁传感器通常是指将磁场的大小和变化转换成电信号。磁场,以地球磁场(地磁)或磁石为例的磁场是我们熟悉但不可见的现象。将不可见的磁场转化为电信号,以及转化为可见效应的磁传感器一直以来都是研究的主题。从几十年前使用电…...
操作符(运算符)详解
🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 目录 🐰算数操作符: - * / % 🐰移位操作符&#x…...
【LeetCode每日一题】【2023/2/9】1797. 设计一个验证系统
文章目录1797. 设计一个验证系统方法1:哈希表代码总体1797. 设计一个验证系统 LeetCode: 1797. 设计一个验证系统 中等\color{#FFB800}{中等}中等 你需要设计一个包含验证码的验证系统。每一次验证中,用户会收到一个新的验证码,这个验证码在…...
计算机图形学:改进的中点BH算法
作者:非妃是公主 专栏:《计算机图形学》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、改进缘由二、…...
【SQL开发实战技巧】系列(六):从执行计划看NOT IN、NOT EXISTS 和 LEFT JOIN效率,记住内外关联条件不要乱放
系列文章目录 【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧…...
十分钟利用环信WebIM-vue3-Demo,打包上线一个即时通讯项目【含音视频通话】
这篇文章无废话,只教你如果接到即时通讯功能需求,十分钟利用环信WebIM-vue3-Demo,打包上线一个即时通讯项目【包含音视频通话功能】。 写这篇文章是因为,结合自身情况,以及所遇到的有同样情况的开发者在接到即时通讯&a…...
pandas——DataFrame基本操作(二)【建议收藏】
pandas——DataFrame基本操作(二) 文章目录pandas——DataFrame基本操作(二)一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.修改数据2.缺失值3.合并1.concat合并2.使用append方法合并3.使用merge进行合并4.使用…...
PostgreSQL查询引擎——General Expressions Grammar之restricted expression
General expressions语法规则定义在src/backend/parser/gram.y文件中,其是表达式语法的核心。有两种表达式类型:a_expr是不受限制的类型,b_expr是必须在某些地方使用的子集,以避免移位/减少冲突。例如,我们不能将BETWE…...
从某种程度上来看,产业互联网是一次对于互联网的弥补和修正
如果对当下我们正在经历的这样一个时代进行一次定义的话,我更加愿意将其划归到产业互联网的范畴里。可能有人会说,这与产业互联网并无联系,因为从本质上来看,当下我们所经历的这样一个时代,其实是与互联网并没有太多联…...
【C#Unity题】1.委托和事件在使用上的区别是什么?2.C#中 == 和 Equals 的区别是什么?
1.委托和事件在使用上的区别是什么? 委托和事件是C#中的重要概念,通俗来讲,委托是一个可以指向特定方法的指针,可以将委托分配给不同的脚本,使它们能够完成不同的任务。而事件则是一种使用委托实现的通知机制ÿ…...
FFmpeg5.0源码阅读——内存池AVBufferPool
摘要:FFmpeg中大多数数据存储比如AVFrame,AVPacket都是通过AVBufferRef管理的,而承载数据的结构为AVBuffer。本文主要通过FFmpeg源码来分析下FFmpeg中AVBuffer相关的实现。 关键字:AVBuffer、AVBufferPool、AVBufferPool 1. AVBufferRef 1.…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
