- 博客(21)
- 收藏
- 关注
原创 自定义pytorch损失函数使得训练过程中出现nan
问题:BCE的定义:-ylogp - (1-y)log(1-p),而如果我们用下面这种方式写出来:loss = - target * torch.log(pred) - (1-target) * torch.log(1-pred)可能会出现损失函数nan和inf的情况。我自定义一个加权的BCE损失的时候就出现这个问题,于是查找pytorch官方的BCE文档,发现这样一句话:Our solution is thatBCELoss clamps its log function outputs to
2022-03-09 21:30:25
934
原创 关于softmax和log_softmax区别与联系
softmax的缺点:Softmax是指数标准化函数,又称为归一化指数函数,将多个神经元的输出,映射到 (0,1) 范围内,并且归一化保证和为1,从而使得多分类的概率之和也刚好为1。其公式如下:试想最后一层的输出向量有三个单元Z=[z1=3、z2=1、z3=-3], 此时做softmax,exp(z1)=20、exp(z2)=2.7、exp(z3)=0.05, 根据公式得到各个单元的概率 :exp(z1)/∑exp(zi)=0.88 、exp(z1)/∑exp(zi)=0.12、exp(z1)/∑ex
2021-11-22 15:31:28
1265
原创 *list与**dict的作用
def add(a, b): return a+b data = [4,3]print add(*data) #等价于 add(4, 3)data = {'a' : 4, 'b' : 3}print add(**data) #等价于 add(4, 3)
2021-10-28 22:18:52
152
原创 torch.gather()函数
作用:收集输入的特定维度指定位置的数值函数定义:torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor参数: input (Tensor) – the source tensor dim (int) – the axis along which to index index (LongTensor) – the indices of elements to gather理解例子:
2021-10-25 22:20:45
219
原创 Anaconda下jupyter notebook无法关联虚拟环境的解决方法
问题:有时候已经激活某个环境,在该环境下启动jupyter notebook之后,还是不能 import 该环境下独有的包。这是因为没有在notebook中指定该虚拟环境。解决方法:本来是可以通过conda install nb_conda解决的,但是好像nb_conda还不支持python3.6,所以存在一些规范冲突。alternative:进入环境:conda activate pytorch安装ipykernel:pip install ipykernel添加jupyter 的kern
2021-09-29 16:58:08
2055
原创 pip无法安装软件包
问题:原因:可能是因为网速太慢,有时候会断,pip不支持断点传输解决方法:Copy软件的地址到浏览器下载再pip本地安装可以自己去到pip仓库下载再本地安装
2021-07-01 12:57:39
268
原创 关于Linux下搭建集群时各主机的免密登录!附Host key verification failed解决办法!
首先假设我们有四台机器需要配置免密登录,则按以下步骤进行:a、首先在四台服务器上都要执行:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsab、在主机1上将主机1的公钥拷贝到authorized_keys中:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys将该文件拷贝给主机2:scp ~/.ssh/authorized_keys 主机2ip地址:/root/.ssh/c、在 主机2中
2021-06-24 20:52:38
341
原创 SQL中 exist与in语句的区别
exist和in的区别: select * from table1 where id in (select id from table2) ; select * from table1 where id exists (select id from table2); 对于上述查询得到的结果是相同的,但是底层执行过程不同使用in语句:先查子表再查主表先查询table2从表,即先执行sel
2021-03-19 21:16:54
527
原创 逻辑回归
简介:逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归。由于算法的简单和高效,在实际中应用非常广泛。逻辑回归的输入:逻辑回归的输入就是一个线性回归的结果。逻辑回归的sigmoid激活函数:回归的结果输入到sigmoid函数,输出[0,1]区间中的一个概率值,默认0.5为阈值。逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例)。(方便
2021-03-08 00:20:43
673
原创 特征工程-特征预处理
简介:特征工程即通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程。归一化、标准化当特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果,使得一些算法无法学习到其它的特征举例:我们需要用到一些方法进行无量纲化,使不同规格的数据转换到同一规格之间归一化:通过对原始数据进行变换把数据映射到(默认[0,1])之间。但是容易受到异常点影响我们对以下数据进行运算,在dating.txt中。保存的就是之前的约会对象数据。对应api:skl
2021-03-07 01:09:52
561
原创 KD树
问题导入:k近邻法最简单的实现是线性扫描(穷举搜索),即要计算输入实例与每一个训练实例的距离。计算并存储好以后,再查找K近邻。当训练集很大时,计算非常耗时。为了提高kNN搜索的效率,可以考虑使用特殊的结构存储训练数据,以减小计算距离的次数。这里介绍的就是KD树简介:为了避免每次都重新计算一遍距离,算法会把距离信息保存在一棵树里,这样在计算之前从树里查询距离信息,尽量避免重新计算。其基本原理是,如果A和B距离很远,B和C距离很近,那么A和C的距离也很远。有了这个信息,就可以在合适的时候跳过距离远的点。
2021-03-07 00:47:08
9939
1
原创 K近邻算法的其他距离公式
欧式距离欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。举例:X=[[1,1],[2,2],[3,3],[4,4]];经计算得:d = 1.4142 2.8284 4.2426 1.4142 2.8284 1.4142曼哈顿距离:在曼哈顿街区要从一个十字路口开车到另一个十字路口,驾驶距离显然不是两点间的直线距离。这个实际驾驶距离就是“曼哈顿距离”。曼哈顿距离也称为“城市街区距离”(City Block d
2021-03-06 21:36:37
809
原创 K-近邻算法
简介:K Nearest Neighbor算法又叫KNN算法,这个算法是机器学习里面一个比较经典的算法, 总体来说KNN算法是相对比较容易理解的算法算法思想:根据你的“邻居”来推断出你的类别 ,即如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。距离公式:两个样本的距离可以通过如下公式计算,又叫欧式距离算法案例:电影类型预测K=5意思是去距离值最近的五部进行类型占比,其中喜剧片3部占的最多,故分类为喜剧片..KNN算法
2021-03-06 20:57:50
204
原创 SpringBoot配置虚拟路径映射
问题:由于Springboot使用的是内置的tomcat,传统的在server.xml配置的docBase和path已经难以实现。其实SpringBoot有自己的虚拟路径映射配置方式!配置:编写一个WebMvcConfig类实现WebMvcConfigurer接口:public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHand
2021-02-01 12:24:45
1288
原创 IDEA如何远程调试tomcat
首先在bin下的catalina.sh 的开头增加一句:CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=指定调试端口"重启tomcat即可然后在IDEA中进行连接指定ip和端口即可
2021-01-30 15:55:20
183
原创 Docker内的容器无法vi
容器内的并未安装vi或vim的功能。方法:apt-get update更新源apt-get install vim 即可
2021-01-30 14:26:19
216
原创 spring的xml配置中的context:property-placeholder标签-踩坑
如果你的项目有多个spring的配置文件,如spring-dao.xml ,spring-redis.xml,那么 你只能在一个文件中使用context:property-placeholder标签,其他文件中的context:property-placeholder标签将会失效不能读取以致于报错:解决:只在一个spring的配置文件中使用context:property-placeholder标签,并加载多个properties文件: <context:property-placeholde
2021-01-29 01:45:43
629
原创 img的src无法访问本地盘符的图片
Q:在本地调试代码时,发现html的img标签无法访问本地图片:<div> <img src="file:\\D:\SchoolShop_IMG\upload\headline\1.jpg"></div>发现img标签并无法通过file:协议访问绝对路径的本地图片,只能通过http方式请求解决方法:通过tomcat服务器进行转发,打开tomcat安装目录下conf文件夹下的server.xml在标签内写入: <Context path="/u
2021-01-27 21:25:51
5340
原创 SpringMVC的CommonsMultipartFile转成File
通过org.apache.commons.fileupload.disk.DiskFileItem进行相应的转换先导入: <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId&
2021-01-23 02:27:26
194
原创 关于jupyter的使用Tab无法使用代码补全,且hinterland无法自动补全
jupyter、notebook、ipython的版本兼容问题很严重,甚至发现在jupyter中无法使用tab键来实现自动填充,也是查了许多,更改了诸多配置,但是还是没有失败了。尝试降低ipython的版本解决方法:pip install ipython==7.1.1...
2021-01-14 23:10:32
3552
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人