- 博客(117)
- 资源 (1)
- 收藏
- 关注
原创 深入解释synchronized底层原理
偏向锁 是为优化无竞争的同步而设计的,它允许某个线程偏向性地持有锁,并且不需要每次重新获取锁。当偏向锁撤销后,锁会升级为 轻量级锁。CAS 操作:当一个线程获取轻量级锁时,JVM 会将对象头中的 Mark Word 拷贝到当前线程栈的锁记录中,并尝试通过 CAS 操作将对象头的 Mark Word 替换为指向该线程栈中锁记录的指针。多个线程频繁争用锁的情况下,且锁的持有时间非常短,例如处理队列或处理事件分发的场景,自旋锁可以有效提升性能,因为在这种情况下线程自旋等待锁释放比直接进入阻塞状态的性能开销更小。
2024-09-17 10:17:28 860
原创 使用Pytorch框架自己制作做数据集进行图像分类
label_path = r"Dataset" # Dtaset下面的数据标签。.png’ # 所有的图片文件列表。主要就是把图片路径这里改了就行了。每个文件夹对应一个分类。
2024-03-26 11:36:43 466
原创 python,pytorch进入虚拟环境(linux)
本身并不能直接列出系统上的所有Python虚拟环境,但它可以在特定虚拟环境中运行时显示出该环境下安装的包,间接表明当前处于哪个虚拟环境内。然而,如果你想要明确地查看系统上的所有虚拟环境列表,应该借助虚拟环境管理工具,如。以上命令将会使终端切换到指定的Python虚拟环境,在此环境中执行Python命令将会使用该环境下的Python解释器以及相关的库。,首先需要找到你的虚拟环境路径,然后激活它。,虽然没有直接列出所有环境的命令,但可以通过检查存在的。,需要像上面提到的那样检查虚拟环境所在的目录;
2024-03-22 14:36:22 518 1
原创 Cannot find reference ‘imread‘ in ‘__init__.py | __init__.py‘.cv2引用问题的错误
正确的有引用做法是from cv2 import cv2。
2024-03-20 10:42:12 248 1
原创 训练和测试的loss、accuracy等数据保存到文件并读出
奥,对,还有一些读取excel的代码。绘制一个loss图,一个准确率图。行叭,学习了好半天!
2023-12-28 14:13:42 677
原创 Restnet34网络结构及代码
看了https://blog.csdn.net/rothschild666/article/details/123497166这个博客的代码,感觉有错误。我自己又修改了一下。torch环境是1.8.1。
2023-12-23 19:07:18 1108
翻译 spring 上下文和spring mvc上下文和web应用上下文servletContext之间的关系
在web容器启动时,会触发容器初始化事件,此时contextLoaderListener会监听到这个事件,其contextInitialized方法会被调用,在这个方法中,spring会初始化一个启动上下文,这个上下文被称为根上下文,即WebApplicationContext,这是一个接口类,确切的说,其实际的实现类是XmlWebApplicationContext。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。
2023-12-09 11:12:02 77
原创 unix、linux系统发展历史和手机操作系统发展历程
回收了Unix版权 (AT&T 根本不关心Unix的发展,只关心Unix带来的经济效益,大家可以上网查查AT&T的一些事件,因为版权打了好多的官司,这也为Linux的诞生创造了机会),大家不能在免费的使用Unix了,大学里面也不可以将Unix源码作为教材教学生了。但每当他研究到兴起的时候,minix系统就戛然而止了,真是好不尽兴,于是这位大佬就开始在Minix的基础上进行开发,最终写出了一个玩具版的操作系统并取名为Linux,由此世界上第一款Linux操作系统诞生了。
2023-12-06 10:20:10 184
原创 pip命令来查看当前激活的虚拟环境
该命令将列出所有已安装的包及其版本信息。在虚拟环境中运行时,它将仅显示该虚拟环境中安装的包。这将列出所有已创建的虚拟环境以及当前激活的环境。
2023-09-14 13:12:52 1529
转载 BN和LN之间的关系
具体地,Normalization的主要作用就是把每层特征输入到激活函数之前,对它们进行normalization,使其转换为均值为1,方差为0的数据,从而可以避免数据落在激活函数的饱和区,以减少梯度消失的问题。这样,如果具体任务依赖于不同样本之间的关系,BN更有效,尤其是在CV领域,例如不同图片样本进行分类,不同样本之间的大小关系得以保留。所以,LN更适合NLP领域的任务,其中,一个样本的特征实际上就是不同word embedding,通过LN可以保留特征之间的这种时序关系。
2023-08-17 13:29:03 179
转载 到底为什么要用三级缓存
当某个 bean 进入到 2 级缓存的时候,说明这个 bean 的早期对象被其他 bean 注入了,也就是说,这个 bean 还是半成品,还未完全创建好的时候,已经被别人拿去使用了,所以必须要有 3 级缓存,2 级缓存中存放的是早期的被别人使用的对象,如果没有 2 级缓存,是无法判断这个对象在创建的过程中,是否被别人拿去使用了。16、调用a= initializeBean(“a”, a, mbd)对 a 进行处理,这个内部可能对 a 进行改变,有可能导致 a 和原始的 a 不是同一个对象了。
2023-08-16 16:03:15 56
原创 Spring中bean生命周期的PostProcessor的每个方法的作用
请注意,这只是一个简化的示例,实际情况可能会更加复杂。ApplicationContextAwareProcessor#postProcessBeforeInitialization 首先判断此 bean 是不是各种的Aware,如果是它列举的那几个 Aware 就获取 Bean 工厂的权限,可以向容器中导入相关的上下文环境,目的是为了 Bean 实例能够获取到相关的上下文,如果不是它列举的几个 Aware,那就调invokeAwareInterfaces(bean),向容器中添加相关接口的上下文环境。
2023-08-15 13:28:57 923
原创 Spring Boot、Spring MVC 和 Spring 有什么区别
Spring Boot、Spring MVC 和 Spring 有什么区别
2023-06-20 18:16:35 292
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人