- [实践应用] 深度学习之优化器
YuanDaima2048
深度学习工具使用pytorch深度学习人工智能机器学习python优化器
文章总览:YuanDaiMa2048博客文章总览深度学习之优化器1.随机梯度下降(SGD)2.动量优化(Momentum)3.自适应梯度(Adagrad)4.自适应矩估计(Adam)5.RMSprop总结其他介绍在深度学习中,优化器用于更新模型的参数,以最小化损失函数。常见的优化函数有很多种,下面是几种主流的优化器及其特点、原理和PyTorch实现:1.随机梯度下降(SGD)原理:随机梯度下降通过
- 封装better-scroll
你喜欢吃青椒吗_c744
安装npminstallbetter-scroll--save-dev创建一个scroll.vue组件importBScrollfrom'better-scroll';//引入better-scroll//详细参数可以了解better-scroll的文档exportdefault{props:{probeType:{//probeType为3的时候,不仅在屏幕滑动的过程中,而且在momentum滚
- el-table日期格式化处理2种方式
c28n07
elementui
关于el-table总结[toc]1.方式一:采用filters//template{{props.row.time|dateTimeFormat}}//script->filtersfilters:{dateTimeFormat(dateTime){if(!dateTime){returndateTime;}returnmoment(dateTime).format("YYYY-MM-DD");
- vue前端性能优化之cdn的使用
不cong明的亚子
性能优化vue+elementui前端javascriptvue
优化原因项目中首页加载过慢,原因是js,css静态资源第一次加载的时间长vue.config.js'usestrict'......constcdn={js_cdn:['https://cdn.jsdelivr.net/npm/
[email protected]/moment.min.js','https://unpkg.com/
[email protected]/dist/vue.js','https://unpkg
- Adam优化器:深度学习中的自适应方法
2401_85743969
深度学习人工智能
引言在深度学习领域,优化算法是训练神经网络的核心组件之一。Adam(AdaptiveMomentEstimation)优化器因其自适应学习率调整能力而受到广泛关注。本文将详细介绍Adam优化器的工作原理、实现机制以及与其他优化器相比的优势。深度学习优化器概述优化器在深度学习中负责调整模型的参数,以最小化损失函数。常见的优化器包括SGD(随机梯度下降)、RMSprop、AdaGrad、AdaDelt
- 9.18-9.19-9.20感恩日记
苧悦
9.18感恩日记1今天是9.18事变纪念日.感恩革命先辈为我们创造了现在美好的生活,向英雄致敬。谢谢谢谢谢谢2感恩今天早上女女学习煮面条.有模有样的哦,宝贝加油棒棒的。谢谢谢谢谢谢3感恩今天上午在家呆着和女女一起玩跳棋.完美的亲子时光呀,真好。谢谢谢谢谢谢4感恩今天中午睡了一个香香甜甜的午觉,身体好舒服呀。谢谢谢谢谢谢5感恩今天下午去到美容院做了个肩颈和臀部护理.身体被按摩的好舒服呀。谢谢谢谢谢谢
- Java运行时内存区域
benlocke
Javajavajvmheapstack内存
Java虚拟机(JavaSE7版)管理的内存包括以下几个运行时数据区域。1.程序计数器程序计数器(ProgramCounterRegister)是当前线程所执行的字节码的行号指示器。字节码解释器需要通过这个计数器的值来读取下一条执行的字节码指令,各种分支跳转、异常处理等。Java虚拟机的多线程是通过线程轮流切换并且分配时间片的方式来实现的,所以在任何一个moment,一个处理器都只会执行一条线程中
- OpenCV结构分析与形状描述符(7)计算轮廓的面积的函数contourArea()的使用
jndingxin
OpenCVopencv人工智能计算机视觉
操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述计算轮廓的面积。该函数计算轮廓的面积。与moments类似,面积是使用格林公式计算的。因此,返回的面积与你使用drawContours或fillPoly绘制轮廓时的非零像素数量可能会不同。此外,对于自相交的轮廓,该函数很可能会给出错误的结果。例子:vectorco
- 57、vue 使用moment
world_7735
**1.下载cnpmimoment--save**2.main.js挂载importmomentfrom'moment'//导入文件Vue.prototype.$moment=moment;//赋值使用3.组件中使用凡是用的prototype使用都要this.继承this.$moment('string').format("YYYY-DD-MM")this.$moment('2018-09-19T
- 深度学习--机器学习相关(2)
在下小天n
深度学习深度学习机器学习人工智能
1.适应性矩估计适应性矩估计(AdaptiveMomentEstimation,Adam)是一种可以代替传统的梯度下降(SGD和MBGD)的优化算法。Adam算法结合了适应性梯度算法和均方根传播的优点。Momentum在学习机器学习时是很可能遇到的,是动量的意思。动量不是速度和学习率,应该说是类似于加速度。AdaGrad(适应性梯度算法)适应性梯度算法的特点在于:独立地调整每一个参数的学习率。在S
- 爱你大声说出来
Angela的思考术
IreallywannatellyouhowmuchIloveyou.Iwannaholdyourhand.Fromthemomentfallinlovewithyou,totheendoftheworld我真想告诉你我有多爱你。我想握住你的手。从爱上你的那一刻到世界的尽头遇见你,生活有了颜色,甜甜的,往后余生,风雪是你,平淡是你,眼里都是你。甜甜的味道生活的美好,在于琐碎的小事,爱你就大声说出来
- 小包子的Scalers Talk第四轮新概念朗读持续力训练Day42 20181203
美少女和雷雷哥
练习材料:Lesson57CanIhelpyou,madam原文:Awomaninjeansstoodatthewindowofanexpensiveshop.Thoughshehesitatedforamoment,shefinallywentinandaskedtoseeadressthatwasinthewindow.Theassistantwhoservedherdidnotlikethe
- Element Plus& Ant Design(react) 表格的分页封装
孟宪磊mxl
react.jsvue.jseditplusAntDesign
一、ElementPlus封装代码:import{onMounted,reactive,ref,toRaw}from'vue'import{ElTable}from'element-plus'importmomentfrom'moment'interfaceUser{date:stringname:stringaddress:string}constmultipleTableRef=ref>()c
- vue+moment转化日期格式为年月日时分秒!最简洁版
暴富的Tdy
vue.js前端javascript
文章目录概要整体架构流程所用组件技术细节小结概要全局实行格式化日期,让你告别冗余处理时间代码整体架构流程使用moment插件实现官网:https://momentjs.cn/所用组件vue2moment技术细节首先执行npminstallmoment--save然后在main.js添加以下代码importmomentfrom'moment'//如果你的main.js每个组件都要vue.use那就加
- 梯度下降算法(Gradient Descent Algorithm)
海棠未语
算法机器学习人工智能python
目录一、梯度下降算法简述二、不同函数梯度下降算法表示1、一元函数2、二元函数3、任意多元函数三、梯度计算四、常见的梯度下降法1、批量梯度下降算法(BatchGradientDescent)2、随机梯度下降算法(StochasticGradientDescent)3、小批量梯度下降(Mini-batchGradientDescent)4、梯度下降算法注意点与调优5、冲量梯度下降算法(Momentum
- 泽平 的ScalersTalk第八轮新概念朗读持续力训练Day 592 20221104
郑泽平
练习材料:Lesson19Soldout'Theplaymaybeginatanymoment,'Isaid.'Itmayhavebegunalready,'Susananswered.Ihurriedtotheticket-office.'MayIhavetwoticketsplease?'Iasked.'I'msorry,we'vesoldout,'thegirlsaid.'Whatapity
- 晨语问安2019年9月20日
求索大伟
『晨语问安9.20』自己才是自己人生的主宰,任何外力都无法改变这一现实。只要出现自己放弃、自我抛弃、自我遗弃的念想存在于心,已经证明自己的心死了,那只能是自己把自己给放到在地狱里边了,想要置之死地而后生确是难上加难,很有可能永远无法走出自己给自己设置的迷宫。自己只有掌控自己,才有可能掌控人生走势,才能让自己成为自己人生的主宰者,或许期间会迎合他人成为随从者,但这只是暂时的,会有一个临界点的爆发,把
- 2018.12.7
紫色的心儿
心之所愿,无所不成。图片发自AppIntheend,weonlyregretthechanceswedidn'ttake,therelationshipswewereafriadtohaveandthedecisionswewaitedtoolongtomake.Don'twasteasinglemoment.最后,如果我们有遗憾的话,那只能是:我们丧失了良机、我们害怕去创造的关系、以及我们的犹豫
- Sonnet 22: Carpe diem lente
billowchaser
Trustnotthosetemperamentalgustsofair,dearcloud,fortheyforevercoursessway.onemomentzeph’rousfervorwithyousharethenextaloofnessborealbringyoumay.WhenfrostyheartembracesEurus’blow,whosewarmthdissolvesyou
- 2024.08.02校招 实习 内推 面经
内推君SIR
求职招聘面试python硬件工程自动驾驶汽车车载系统
地/球:neituijunsir交*流*裙,内推/实习/校招汇总表格1、校招|加入蔚来智能制造,在蔚来预见未来(内推)校招|加入蔚来智能制造,在蔚来预见未来(内推)2、校招|科大讯飞2025届飞凡计划|第二批网申开启(内推)校招|科大讯飞2025届飞凡计划|第二批网申开启(内推)3、实习|Momenta8月热招实习岗,来啦(内推)实习|Momenta8月热招实习岗,来啦(内推)4、校招|安路科技2
- 2019-07-10
西单墙_九鼎神庐文化制造有限公
Thelittlethingsquirmedagainsthim,asifheardandunderstood."No!"Brancriedoutfiercely."It`smine"."putawayyoursword,Greyjoy,"Robbsaid.Foramomenthesoundedascommandingastheirfather,likethelordhewouldsomedayb
- 2020-09-23实习同学故事分享
大家伙儿
这是隔壁3班的故事,但因为我是坐在班主任的办公室里,所以听到了一些。(9.19)周六晚,有同学留宿,其中三名女生(有一名是纪律委员)晚上九点多离开学校去喝酒了,十一点多才回学校,因为超过了宿舍的门禁,所以惊动了阿姨,也就惊动了班主任。(9.20)周日晚,她们班班主任在办公室里说有女生跑出去喝酒,不仅十一点才回来,还喝到吐了摔倒进医院了。后来等人到了,就叫来了那几名女生问话。她们的说辞是:看抖音,学
- keras.optimizers优化器中文文档
地上悬河
python开发语言后端
优化器optimizers优化器是编译Keras模型必要的两个参数之一model=Sequential()model.add(Dense(64,init='uniform',input_dim=10))model.add(Activation('tanh'))model.add(Activation('softmax'))sgd=SGD(lr=0.01,decay=1e-6,momentum=0.
- vue时间组件:dayjs与moment
煸橙干儿~~
VUE实战vue.js前端javascript
一、dayjs使用Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。具体使用可参考:dayjs官网1、本年start=dayjs().startOf('year').format('YYYY-MM-DD')end=dayjs().endOf('year').format('YYYY-MM-DD')console.log(start,end)//['2
- 英语学习打卡第54天
美人志_8cdd
hard坚硬的putaway放好away离开beautiful漂亮atthemoment此时此刻quite十分festival节日ready准备好的happen发生speak说话meal一餐cook厨师floor地板sweep打扫clean打扫dance跳舞study学习run跑步dragon龙lantern灯笼
- 泽平 的ScalersTalk第七轮新概念朗读持续力训练Day 492 20220727
郑泽平
练习材料:Lesson24-1BeautyAyoungmanseesasunsetand,unabletounderstandortoexpresstheemotionthatitrousesinhim,concludesthatitmustbethegatewaytoaworldthatliesbeyond.Itisdifficultforanyofusinmomentsofintenseaes
- 时间戳转换2019-07-26
LookForandPersi
dateFormat(r){returnthis.$moment(r.createTime).format("YYYY-MM-DD");},
- 2020-06-14每日美文阅读和英语学习(第76天)
爱秋拾
英语单词背诵英语翻译学习Fromthemomentyouholdyourbabyinyourarms,Youwillneverbethesame.Youmightlongforthepersonyouwerebefore,Whenyouhavefreedomandtime,Andnothinginparticulartoworryabout.Youwillknowtirednesslikeyoun
- Pytorch-Adam算法解析
肆十二
Pytorch语法pytorch算法人工智能Adam
关注B站可以观看更多实战教学视频:肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频(bilibili.com)Hi,兄弟们,这里是肆十二,今天我们来讨论一下深度学习中的Adam优化算法。Adam算法解析Adam算法是一种在深度学习中广泛使用的优化算法,它的名称来源于适应性矩估计(AdaptiveMomentEstimation)。Adam算法结合了两种扩展式的随机梯度下降法的优点,即适应性梯度算
- dayjs实现前端消息通知日期格式显示——仿微信消息时间
三月的一天
前端微信dayJs
背景:在做一个消息通知类的需求,在PC端实现消息接收界面,日期显示参考微信聊天界面消息时间提示。具体规则如下:当天:显示时分昨天:显示‘昨天+时分’本周:显示“周几+时分”本周之前:显示“年月日”安装dayjsdayjs()是一个轻量级的JavaScript日期库,用于解析、验证、操作和显示日期和时间。它提供了类似于Moment.js的API,但具有更小的体积和更好的性能。关于时间的复杂处理,建议
- 辗转相处求最大公约数
沐刃青蛟
C++漏洞
无言面对”江东父老“了,接触编程一年了,今天发现还不会辗转相除法求最大公约数。惭愧惭愧!
为此,总结一下以方便日后忘了好查找。
1.输入要比较的两个数a,b
忽略:2.比较大小(因为后面要的是大的数对小的数做%操作)
3.辗转相除(用循环不停的取余,如a%b,直至b=0)
4.最后的a为两数的最大公约数
&
- F5负载均衡会话保持技术及原理技术白皮书
bijian1013
F5负载均衡
一.什么是会话保持? 在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,服务器进行下
- Object.equals方法:重载还是覆盖
Cwind
javagenericsoverrideoverload
本文译自StackOverflow上对此问题的讨论。
原问题链接
在阅读Joshua Bloch的《Effective Java(第二版)》第8条“覆盖equals时请遵守通用约定”时对如下论述有疑问:
“不要将equals声明中的Object对象替换为其他的类型。程序员编写出下面这样的equals方法并不鲜见,这会使程序员花上数个小时都搞不清它为什么不能正常工作:”
pu
- 初始线程
15700786134
暑假学习的第一课是讲线程,任务是是界面上的一条线运动起来。
既然是在界面上,那必定得先有一个界面,所以第一步就是,自己的类继承JAVA中的JFrame,在新建的类中写一个界面,代码如下:
public class ShapeFr
- Linux的tcpdump
被触发
tcpdump
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支 持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
实用命令实例
默认启动
tcpdump
普通情况下,直
- 安卓程序listview优化后还是卡顿
肆无忌惮_
ListView
最近用eclipse开发一个安卓app,listview使用baseadapter,里面有一个ImageView和两个TextView。使用了Holder内部类进行优化了还是很卡顿。后来发现是图片资源的问题。把一张分辨率高的图片放在了drawable-mdpi文件夹下,当我在每个item中显示,他都要进行缩放,导致很卡顿。解决办法是把这个高分辨率图片放到drawable-xxhdpi下。
&nb
- 扩展easyUI tab控件,添加加载遮罩效果
知了ing
jquery
(function () {
$.extend($.fn.tabs.methods, {
//显示遮罩
loading: function (jq, msg) {
return jq.each(function () {
var panel = $(this).tabs(&
- gradle上传jar到nexus
矮蛋蛋
gradle
原文地址:
https://docs.gradle.org/current/userguide/maven_plugin.html
configurations {
deployerJars
}
dependencies {
deployerJars "org.apache.maven.wagon
- 千万条数据外网导入数据库的解决方案。
alleni123
sqlmysql
从某网上爬了数千万的数据,存在文本中。
然后要导入mysql数据库。
悲剧的是数据库和我存数据的服务器不在一个内网里面。。
ping了一下, 19ms的延迟。
于是下面的代码是没用的。
ps = con.prepareStatement(sql);
ps.setString(1, info.getYear())............;
ps.exec
- JAVA IO InputStreamReader和OutputStreamReader
百合不是茶
JAVA.io操作 字符流
这是第三篇关于java.io的文章了,从开始对io的不了解-->熟悉--->模糊,是这几天来对文件操作中最大的感受,本来自己认为的熟悉了的,刚刚在回想起前面学的好像又不是很清晰了,模糊对我现在或许是最好的鼓励 我会更加的去学 加油!:
JAVA的API提供了另外一种数据保存途径,使用字符流来保存的,字符流只能保存字符形式的流
字节流和字符的难点:a,怎么将读到的数据
- MO、MT解读
bijian1013
GSM
MO= Mobile originate,上行,即用户上发给SP的信息。MT= Mobile Terminate,下行,即SP端下发给用户的信息;
上行:mo提交短信到短信中心下行:mt短信中心向特定的用户转发短信,你的短信是这样的,你所提交的短信,投递的地址是短信中心。短信中心收到你的短信后,存储转发,转发的时候就会根据你填写的接收方号码寻找路由,下发。在彩信领域是一样的道理。下行业务:由SP
- 五个JavaScript基础问题
bijian1013
JavaScriptcallapplythisHoisting
下面是五个关于前端相关的基础问题,但却很能体现JavaScript的基本功底。
问题1:Scope作用范围
考虑下面的代码:
(function() {
var a = b = 5;
})();
console.log(b);
什么会被打印在控制台上?
回答:
上面的代码会打印 5。
&nbs
- 【Thrift二】Thrift Hello World
bit1129
Hello world
本篇,不考虑细节问题和为什么,先照葫芦画瓢写一个Thrift版本的Hello World,了解Thrift RPC服务开发的基本流程
1. 在Intellij中创建一个Maven模块,加入对Thrift的依赖,同时还要加上slf4j依赖,如果不加slf4j依赖,在后面启动Thrift Server时会报错
<dependency>
- 【Avro一】Avro入门
bit1129
入门
本文的目的主要是总结下基于Avro Schema代码生成,然后进行序列化和反序列化开发的基本流程。需要指出的是,Avro并不要求一定得根据Schema文件生成代码,这对于动态类型语言很有用。
1. 添加Maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<proj
- 安装nginx+ngx_lua支持WAF防护功能
ronin47
需要的软件:LuaJIT-2.0.0.tar.gz nginx-1.4.4.tar.gz &nb
- java-5.查找最小的K个元素-使用最大堆
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
public class MinKElement {
/**
* 5.最小的K个元素
* I would like to use MaxHeap.
* using QuickSort is also OK
*/
public static void
- TCP的TIME-WAIT
bylijinnan
socket
原文连接:
http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html
以下为对原文的阅读笔记
说明:
主动关闭的一方称为local end,被动关闭的一方称为remote end
本地IP、本地端口、远端IP、远端端口这一“四元组”称为quadruplet,也称为socket
1、TIME_WA
- jquery ajax 序列化表单
coder_xpf
Jquery ajax 序列化
checkbox 如果不设定值,默认选中值为on;设定值之后,选中则为设定的值
<input type="checkbox" name="favor" id="favor" checked="checked"/>
$("#favor&quo
- Apache集群乱码和最高并发控制
cuisuqiang
apachetomcat并发集群乱码
都知道如果使用Http访问,那么在Connector中增加URIEncoding即可,其实使用AJP时也一样,增加useBodyEncodingForURI和URIEncoding即可。
最大连接数也是一样的,增加maxThreads属性即可,如下,配置如下:
<Connector maxThreads="300" port="8019" prot
- websocket
dalan_123
websocket
一、低延迟的客户端-服务器 和 服务器-客户端的连接
很多时候所谓的http的请求、响应的模式,都是客户端加载一个网页,直到用户在进行下一次点击的时候,什么都不会发生。并且所有的http的通信都是客户端控制的,这时候就需要用户的互动或定期轮训的,以便从服务器端加载新的数据。
通常采用的技术比如推送和comet(使用http长连接、无需安装浏览器安装插件的两种方式:基于ajax的长
- 菜鸟分析网络执法官
dcj3sjt126com
网络
最近在论坛上看到很多贴子在讨论网络执法官的问题。菜鸟我正好知道这回事情.人道"人之患好为人师" 手里忍不住,就写点东西吧. 我也很忙.又没有MM,又没有MONEY....晕倒有点跑题.
OK,闲话少说,切如正题. 要了解网络执法官的原理. 就要先了解局域网的通信的原理.
前面我们看到了.在以太网上传输的都是具有以太网头的数据包. 
- Android相对布局属性全集
dcj3sjt126com
android
RelativeLayout布局android:layout_marginTop="25dip" //顶部距离android:gravity="left" //空间布局位置android:layout_marginLeft="15dip //距离左边距
// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的
- Tomcat内存设置详解
eksliang
jvmtomcattomcat内存设置
Java内存溢出详解
一、常见的Java内存溢出有以下三种:
1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。
可以利用JVM提
- Java6 JVM参数选项
greatwqs
javaHotSpotjvmjvm参数JVM Options
Java 6 JVM参数选项大全(中文版)
作者:Ken Wu
Email:
[email protected]
转载本文档请注明原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm!
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Opt
- weblogic创建JMC
i5land
weblogicjms
进入 weblogic控制太
1.创建持久化存储
--Services--Persistant Stores--new--Create FileStores--name随便起--target默认--Directory写入在本机建立的文件夹的路径--ok
2.创建JMS服务器
--Services--Messaging--JMS Servers--new--name随便起--Pers
- 基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
justjavac
DHT
上周开发了一个磁力链接和 BT 种子的搜索引擎 {Magnet & Torrent},本文简单介绍一下主要的系统功能和用到的技术。
系统包括几个独立的部分:
使用 Python 的 Scrapy 框架开发的网络爬虫,用来爬取磁力链接和种子;
使用 PHP CI 框架开发的简易网站;
搜索引擎目前直接使用的 MySQL,将来可以考虑使
- sql添加、删除表中的列
macroli
sql
添加没有默认值:alter table Test add BazaarType char(1)
有默认值的添加列:alter table Test add BazaarType char(1) default(0)
删除没有默认值的列:alter table Test drop COLUMN BazaarType
删除有默认值的列:先删除约束(默认值)alter table Test DRO
- PHP中二维数组的排序方法
abc123456789cba
排序二维数组PHP
<?php/*** @package BugFree* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $*** Sort an two-dimension array by some level
- hive优化之------控制hive任务中的map数和reduce数
superlxw1234
hivehive优化
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2. 
- Spring Boot 1.2.4 发布
wiselyman
spring boot
Spring Boot 1.2.4已于6.4日发布,repo.spring.io and Maven Central可以下载(推荐使用maven或者gradle构建下载)。
这是一个维护版本,包含了一些修复small number of fixes,建议所有的用户升级。
Spring Boot 1.3的第一个里程碑版本将在几天后发布,包含许多