🌓

使用jcmd对JVM进程进行查询及管理

jcmd 是 Java 开发工具包(JDK)中提供的一个多功能工具,它可以用于发送诊断命令请求到 Java 虚拟机(JVM)。这些命令涵盖了从性能监控、线程堆栈跟踪到堆转储等多个方面,使得 jcmd 成为 JVM 管理和性能分析中非常强大的工具。以下是一些 jcmd 的常用功能:

阅读全文

基于命令的 macOS 资源监控工具 asitop,可以监控CPU、GPU功耗

CleanShot 2024-02-20 at 17.23.26

asitop 是一个用于监视 Apple Silicon Macs 性能的命令行工具,包括 CPU、GPU、ANE(Apple Neural Engine)的使用率,以及功耗和温度信息。它提供了一个实时更新的界面,可以让用户了解系统的性能状态。安装 asitop 的步骤如下:

阅读全文

给已存在 PostgreSQL 服务安装 TimescaleDB 插件

仅以docker版的PostgreSQL 16为例。

apt update

阅读全文

简单训练一下Animal-10的数据(第一版,精度很拉垮)

之前一直用CIFAR-10的数据做训练。这个数据已经内置到Keras里了,所以拉取数据很方便,只需要一行cifar10.load_data()即可。但是在实际工作中,最终肯定还是用自己的图片作为素材进行训练,所以这次决定下载Animals-10作为训练素材。

阅读全文

通过Data Augmentation把CIFAR10的训练精度提升到89%

我们先来回顾一下上一次的训练结果:

CleanShot-2022-04-28-10.42.58

可以看到在训练不到20批的时候,训练精度就与测试精度分道扬镳了。这算是一种过拟合。目前我们手上的工具箱也就剩数据增强还没用了。理论上数据增强可以弥补训练集太小的问题,从而缓解过拟合的现象。实话说,在实际操作中,这种方法已经被检验过有效了。但是总给人一种用一种机器去欺骗另一种机器的感觉,我个人觉得,机械化数据增强应该早晚被更优秀的训练模型所取代。

阅读全文

通过BatchNormalization把CIFAR10的训练精度提升到85%

在不借助数据增强的情况下,我们已经一路把验证精度从70%多提升到了80%的水平,今天,我们借助BatchNormalization可以进一步把精度提升到超过85%。话不多说,先看结果:

阅读全文

在Apple Silicon上关闭M1的GPU,仅用CPU进行Tensorflow训练

在苹果M1系列芯片上运行tensorflow是可以通过插件tensorflow-metal进行GPU训练加速的,并且随着操作系统的升级以及插件的不断完善,M1的训练性能正在稳步提高,这也是苹果官方推荐的做法。

阅读全文

通过加深网络把CIFAR10的训练精度提升到80%

这次继续,在原来网络的基础上,加深了卷积层的数量,从原来的3层卷积,加深到了6层。核心代码如下:

model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3),padding='same'))
model.add(layers.Conv2D(32, (3, 3), activation='relu',padding='same'))
model.add(layers.MaxPooling2D((2, 2)))

model.add(layers.Conv2D(64, (3, 3), activation='relu',padding='same'))
model.add(layers.Conv2D(64, (3, 3), activation='relu',padding='same'))
model.add(layers.MaxPooling2D((2, 2)))

model.add(layers.Conv2D(128, (3, 3), activation='relu',padding='same'))
model.add(layers.Conv2D(128, (3, 3), activation='relu',padding='same'))
model.add(layers.Flatten())
model.add(layers.Dropout(0.5))

model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(10, activation='softmax'))

阅读全文

使用简单的CNN训练CIFAR10,理解padding='same'的含义

今天在训练CIFAR10数据的时候,稍微调整了下网络,对卷积层增加了padding,最终结果得到了一定的改善:

CleanShot 2022-04-14 at 20.05.02

阅读全文

普普通通的CNN训练CIFAR-10

之前用VGG16训练了一次CIFAR10数据集,我还说用VGG16会有一个不错的起点呢,毕竟是业界训练好的模型嘛。结果今天用自建的卷积神经网络一测,结果出乎意料,自建的神经网络虽然训练精度的上升没有之前的快,但是验证精度也能达到75%的水平,跟上次区别不大。同时,虽然这次迭代次数有增加,但是得益于模型简化了许多,训练速度也提升了不少。话不多说,上结果:

阅读全文