Technical

前言

二年级我在参加全国大学生集成电路创新创业大赛的时候,有幸见到了将 CNN 网络 Deploy 到 FPGA 的设计,在这之后我便一直想完成该设计。写下本文的时间是 2020 年 4 月份,三年级寒假刚开始,我便为了完成这项工作开始从头学起 Machine Learning 的理论基础,并且在了解过一些开源的 Verilog-CNN 的项目之后,一直存在着一些疑惑,但由于开发 FPGA 的设备都在校园,所以一直没有机会实践证实。

深度学习已被证明在包括图像分类(Image Classification),目标检测(Object Detection),自然语言处理(Natural Language Processing)等任务上能够取得相当不错的效果。现如今,大量的应用程序都配备了与之相关的深度学习算法,而人们使用这些应用程序甚至无法察觉到这种技术的存在。

目前看到过的将 CNN 网络 Deploy 到 FPGA 上的优秀项目是:CNN-FPGA

Read More

这篇文章给大家分享的是个人用自建图床搭建过程。

图床,也就是专门提供存储图片的地方,我们只要通过图床提供的 API 接口,把图片上传上去,就可以通过外链访问了,我们在 CSDN 发表文章,上传图片,其实就是用的 CSDN 的图床,但 CSDN 的图床有时候也挺不方便的。

比如,在我刚开始写博客的时候,我喜欢先在本地写,博客中的图片我都存储在本地的文件夹里。

Read More

李宏毅老师的作业四也同样是不好对付的,这次我仍然用 TensorFlow 实现一遍,记录踩坑过程。

迫于心疼我的笔电,这次作业在 Kaggle 编写程式、而本次作业的数据集,Kaggle 上也有现成的。

附上课程作业 4 的 Kaggle 地址:点击前往

Read More

第一次做 MachineLearning 的笔记,因为实在是碰到问题了。最近跟着李宏毅老师学习到了很多知识,课程地址:点击前往

第三个作业是 CNN。但是课程网站里的 ExampleCode 给的是 Pytorch 版本的,而我用的是 Tensorflow,懒得再安装 pytorch 环境运行,所以从头到尾自己用 keras 写了一下,在这篇文章里我记录一下我出现的一些问题。

Read More

今天在学习 TensorFlow Basic Api 的时候,碰到了一个有趣的现象。

题目是计算以 2 为基数的等比数列的和, example code 是这样的:

1
2
3
4
5
6
7
8
9
10
11
@tf.function
def converge_to_2(iters_n):
total = tf.constant(0.)
increment = tf.constant(1.)
for _ in range(iters_n):
total += increment
increment /= 2.0
return total

result = converge_to_2(20)
print(result)

我起初以为这代码是错误的,为什么 total 已经被声明成了 tf.constant,但却依然可以被赋值?那 consant 的意义何在呢。可是运行了一下,却输出了正确的结果。

经过我的反复思考,我得到了自己的答案。

首先,Python 的变量类型是动态的,也许这个变量此时还是一个数组,下一个语句执行完了之后它就变成了字典。那既然是这样,Python 就不应该存在真正的 const 类型。

但 Python 是可以存在 const 的,对么,因为 Python 中的一切都是对象,而对象的魔术方法中有专门处理赋值的,我们可以在这里做手脚,实现对想声明为 const 对象的无法赋值操作。

But, Why Constant in Tensorflow do it?

其实我们只要想象一下,为什么 Tf 要定义 constant 这个变量,绝不是让你在平时的科学计算里使用的,当我们在 Train 一个 Neural Network 的时候,要保持一些量不随梯度所改变,而需要随梯度所改变的,我们使用 tf.Variable。所以 tf.constant 没必要对科学计算进行处理,只需要对 tf 内部的某些运算做处理即可。

在之前的一篇文章里讲述了如何为 ESXI 系统上的虚拟机挂载新的存储,由此我又想到了另外一件事情,如何为 ESXI 系统本身挂载存储呢?

恰好,这件事情我还真的做过,一年前为我们工作室的 MacPro 置备了新的 2TB 机械硬盘,上面运行的也是 ESXI 系统,为此也踩了一些小坑,俾如说尝试了通过 ssh 链接到到 MacPro 上,但是找不到已经插上去的物理磁盘,经过百般折腾后终于找到了正确的姿势:为了给 ESXI 系统挂载磁盘,我们仍然需要使用 VsPhere Client。

Read More

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×