使用卷积神经网络进行图像识别(cifar10)

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一 。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)

此篇文章我将使用tensorflow的keras库尝试搭建精简过的alexnet演示卷积神经网络

继续阅读使用卷积神经网络进行图像识别(cifar10)

将01字符串以二进制形式存储在文件中(python)

现有一字符串,内容由‘0’和‘1’构成,由于构成元素只有两种,所以每个元素可以只用一位二进制表示。而如果直接存储为文本则会额外占用很多空间。使用下面的方法可以将这种字符串以二进制形式存储在文件中。

继续阅读将01字符串以二进制形式存储在文件中(python)

从ISE到vivado

ISE已于2013年停止更新维护,取而代之的是vivado。在此过渡期间的一些板子是两者都可开发的。学校推荐使用的开发工具仍然是ISE,而ISE在win10上会出现兼容问题(无法通过文件菜单打开工程),甚至在win11上无法安装。vivado不但具有实时语法检查等实用功能,也将管脚配置集成在一起。这篇文章将阐述从在ISE上开发转至vivado时需要注意的过程及问题。

继续阅读从ISE到vivado

简化tensorflow在训练模型时的输出

tensorflow模型在训练时每次epoch都会产生一条输出,如果训练次数很大时会影响效率,影响电脑性能,但如果直接将verbose设置为0时(即关闭输出)则看不到任何反馈导致无法得知模型的训练情况。这时,我们可以自定义一个回调函数来简化输出。

继续阅读简化tensorflow在训练模型时的输出

在搭载AMD独立显卡的Mac上安装支持Metal的TensorFlow

自TensorFlow 1.1以后,TensorFlow便停止了对MacOS的GPU的支持。在搭载了m1芯片的Mac发布后,苹果重新开启了对TensorFlow的适配,Github项目地址为:

继续阅读在搭载AMD独立显卡的Mac上安装支持Metal的TensorFlow

在最新版本的Mac OS上安装valgrind

我们在使用高级的IDE里,在性能分析的选项中往往会涉及valgrind的使用,而当我们尝试在版本大于10.12的Mac OS上安装valgrind时,无论是从官方网站下载还是使用brew安装,都会提示系统版本过高无法安装。此前这一直困扰着我导致当我想使用内存泄露分析工具时不得不用docker运行个ubuntu然后在其上运行valgrind,直到最近我在github上发现了一个项目:

继续阅读在最新版本的Mac OS上安装valgrind