草庐IT

[课程笔记](李沐-动手学深度学习)

文章目录矩阵计算标量导数亚导数梯度自动求导向量链式求导法则自动求导复杂度自动求导实现softmax回归+损失函数softmax回归损失函数QA权重衰退丢弃法Dropout从零开始实现dropout数值稳定性+模型初始化和激活函数数值稳定性——梯度消失和梯度爆炸梯度爆炸梯度消失如何让训练更加稳定?梯度消失和梯度爆炸的产生原因和解决办法?模型初始化和激活函数深度神经网络权值初始化的几种方式及为什么不能初始化为零XavierInitializationKaimingInitialization多层感知机感知机多层感知机激活函数多类分类从全连接到卷积1*1卷积层池化层最大池化层平均池化层LeNet1.

[课程笔记](李沐-动手学深度学习)

文章目录矩阵计算标量导数亚导数梯度自动求导向量链式求导法则自动求导复杂度自动求导实现softmax回归+损失函数softmax回归损失函数QA权重衰退丢弃法Dropout从零开始实现dropout数值稳定性+模型初始化和激活函数数值稳定性——梯度消失和梯度爆炸梯度爆炸梯度消失如何让训练更加稳定?梯度消失和梯度爆炸的产生原因和解决办法?模型初始化和激活函数深度神经网络权值初始化的几种方式及为什么不能初始化为零XavierInitializationKaimingInitialization多层感知机感知机多层感知机激活函数多类分类从全连接到卷积1*1卷积层池化层最大池化层平均池化层LeNet1.

动手实践丨手把手教你用STM32做一个智能鱼缸

摘要:本文基于STM32单片机设计了一款基于物联网的智能鱼缸。本文分享自华为云社区《基于STM32+华为云IOT设计的物联网鱼缸【玩转华为云】》,作者:DS小龙哥。1.前言为了缓解学习、生活、工作带来的压力,提升生活品质,许多人喜欢在家中、办公室等场所养鱼。为节省鱼友时间、劳力、增加养鱼乐趣;为此,本文基于STM32单片机设计了一款基于物联网的智能鱼缸。该鱼缸可以实现水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能为一体的控制系统,鱼缸通过ESP8266连接华为云IOT物联网平台,并通过应用侧接口开发了上位机APP实现远程对鱼缸参数检测查看,并能远程控制。从功能上分析,

动手实践丨手把手教你用STM32做一个智能鱼缸

摘要:本文基于STM32单片机设计了一款基于物联网的智能鱼缸。本文分享自华为云社区《基于STM32+华为云IOT设计的物联网鱼缸【玩转华为云】》,作者:DS小龙哥。1.前言为了缓解学习、生活、工作带来的压力,提升生活品质,许多人喜欢在家中、办公室等场所养鱼。为节省鱼友时间、劳力、增加养鱼乐趣;为此,本文基于STM32单片机设计了一款基于物联网的智能鱼缸。该鱼缸可以实现水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能为一体的控制系统,鱼缸通过ESP8266连接华为云IOT物联网平台,并通过应用侧接口开发了上位机APP实现远程对鱼缸参数检测查看,并能远程控制。从功能上分析,

jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)

jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)线程池介绍在日常开发中经常会遇到需要使用其它线程将大量任务异步处理的场景(异步化以及提升系统的吞吐量),而在使用线程的过程中却存在着两个痛点。在java等很多主流语言中每个逻辑上的线程底层都对应着一个系统线程(不考虑虚拟线程的情况)。操作系统创建一个新线程是存在一定开销的,在需要执行大量的异步任务时,如果处理每个任务时都直接向系统申请创建一个线程来执行,并在任务执行完毕后再回收线程,则创建/销毁大量线程的开销将无法忍受。每个系统线程都会占用一定的内存空间,且系统在调度不同线程上下文切换时存在一定的cpu开销

jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)

jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)线程池介绍在日常开发中经常会遇到需要使用其它线程将大量任务异步处理的场景(异步化以及提升系统的吞吐量),而在使用线程的过程中却存在着两个痛点。在java等很多主流语言中每个逻辑上的线程底层都对应着一个系统线程(不考虑虚拟线程的情况)。操作系统创建一个新线程是存在一定开销的,在需要执行大量的异步任务时,如果处理每个任务时都直接向系统申请创建一个线程来执行,并在任务执行完毕后再回收线程,则创建/销毁大量线程的开销将无法忍受。每个系统线程都会占用一定的内存空间,且系统在调度不同线程上下文切换时存在一定的cpu开销

jdk线程池ThreadPoolExecutor优雅停止原理解析(自己动手实现线程池)(二)

jdk线程池工作原理解析(二)本篇博客是jdk线程池ThreadPoolExecutor工作原理解析系列博客的第二篇,在第一篇博客中从源码层面分析了ThreadPoolExecutor在RUNNING状态下处理任务的核心逻辑,而在这篇博客中将会详细讲解jdk线程池ThreadPoolExecutor优雅停止的实现原理。jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)ThreadPoolExecutor优雅停止源码分析(自己动手实现线程池v2版本)ThreadPoolExecutor为了实现优雅停止功能,为线程池设置了一个状态属性,其共有5种情况。在第一篇

jdk线程池ThreadPoolExecutor优雅停止原理解析(自己动手实现线程池)(二)

jdk线程池工作原理解析(二)本篇博客是jdk线程池ThreadPoolExecutor工作原理解析系列博客的第二篇,在第一篇博客中从源码层面分析了ThreadPoolExecutor在RUNNING状态下处理任务的核心逻辑,而在这篇博客中将会详细讲解jdk线程池ThreadPoolExecutor优雅停止的实现原理。jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)ThreadPoolExecutor优雅停止源码分析(自己动手实现线程池v2版本)ThreadPoolExecutor为了实现优雅停止功能,为线程池设置了一个状态属性,其共有5种情况。在第一篇

思路一转,春暖花开!动动手指,这段程序性能又双叒叕提升2s~15s

性能优化说明:判断数据表里是否有数据,用limit1/top1取代求count,这一点对于大表来说相当明显。思路一转,春暖花开!近期,数据中心系统负荷大,mysql服务器的CPU动辄高达90%以上。代码和数据表存在很大优化空间。这里分享一个定时同步数据的Job任务的优化过程。 先上代码 publicvoidexecuteJob(StringjobParameter){//获取风控个体工商业者信息表数据总计,如果没有任何数据,则需要初始化intsohoCount=sbhSohoManager.count();if(sohoCount==0){//首次同步数据...}else{//非首次,增量同步

思路一转,春暖花开!动动手指,这段程序性能又双叒叕提升2s~15s

性能优化说明:判断数据表里是否有数据,用limit1/top1取代求count,这一点对于大表来说相当明显。思路一转,春暖花开!近期,数据中心系统负荷大,mysql服务器的CPU动辄高达90%以上。代码和数据表存在很大优化空间。这里分享一个定时同步数据的Job任务的优化过程。 先上代码 publicvoidexecuteJob(StringjobParameter){//获取风控个体工商业者信息表数据总计,如果没有任何数据,则需要初始化intsohoCount=sbhSohoManager.count();if(sohoCount==0){//首次同步数据...}else{//非首次,增量同步