Life Log

I am a coder ~

0%

开始

双十一买了个W806的板子,很便宜,可以ISP刷程序,其实平时够用,但是还是感觉有调试的感觉不错。

制作

工具地址 https://github.com/henrycoding/cklink-lite

SDK(选择T-Head): https://occ.t-head.cn/community/download?id=616215132330000384

群里面有CKLINK_LITE的固件,其实直接烧录到STM32F103就ok了,我这里用J-Flash烧录,烧录步骤如下

  1. Target Interface选择SWD,CPU选择Device,然后按三个点选STM32F103RC
  2. Connect, Erase Chip, Program and Verify
  3. 拔掉SWD调试器,然后将STM32F103的USB接口接到电脑上

问题

连上电脑以后设备管理器显示设备,但是T-HEAD-DebugServer死活没法链接成功,打开 DebugConsole,提示如下

由提示可知是USB的问题,使用Zadig工具替换驱动即可解决问题, 替换的时候首先点Options -> List All Devices,
然后选择C-Sky开头的,驱动选 libusb-win32 ,然后点击Replace即可

,

替换完成后,再次打开T-head-debug-server, 即可

,

特别注意,线的链接顺序

STM32 W806
A0 RST
A1 PA1
A5 PA4
3V3 3V3
GND GND

好久没有炼丹了, 感觉想炼丹玩玩,但是感觉有好多的Bug,距离成长为一个炼丹师还有很长的距离。
此次炼丹遇到了一些问题, 感觉还是有很大的参考意义的,现在记录一下。

网络模型用的是 torchvision中的Vgg

1
2
3
resnet = resnest50(pretrained=True)
vgg = vgg19_bn(num_classes=1000, pretrained='imagenet')
net = Sequential(vgg, Linear(1000, 500),Linear(500, 1), nn.Sigmoid())
  1. PyTorch里面的ImageFolder,进行数据加载的时用到了transform, 里面有一个to_tensor, 这里面的数据其实是进行了Channel归一化的, 并进行了一些数据通道的转置,因此在推理的时候也需要用to_tensor把image转成tensor,这也间接的回答了一个问题: 训练数据和推理数据必须是一致的,维度、范围也要一致, 对数据的归一化在推理的时候也要进行归一化
1
2
3
folder = ImageFolder(f'./data/train',
transform=transforms.Compose([transforms.CenterCrop(400), transforms.ToTensor()]))
data_loader = DataLoader(folder, batch_size=4, shuffle=False)
  1. 数据增强。因为本身数据集就是从百度爬取的, 数据集质量本身就不是很好,因此需要对数据集进行数据增强。数据集增强有很多的方法,包括平移变换,伸缩变换,随机剪裁,亮度变换,色彩变换等。

  2. 二分类问题可以用BCELoss进行, CrossEntroyLoss 可能效果不是很好。

  3. 预训练模型在本任务中效果一般,不知道是为啥, 在分类效果不好的时候,尝试扩大数据集。

其实这次实验主要说明了数据集的处理对结果是十分重要的, 所谓的人工智能其实还没有那么智能,只能识别固定的数据集里面有的模式,不会自己进行所谓的自动学习, 因此对数据的对数据的清洗和加工,以及数据的增强,其实对实验效果的影响十分的大

Hello, 2021程序员节

之前写过好多的博客,用过asp的博客程序,还有php的emlog和wordpress, 以及其他的一些博客程序,苦于自己没钱,服务器都没有续费,因此很多数据也都没有保存下来。最近看了GitHub的Pages,不错,安排上。正好我的.me域名备案被取消了,国内的主机也绑定不上了,那就绑定到GitPages上吧 ~

希望可以把一些感悟和技巧记录下来,以便以后查阅 ~