神经网络瘦身:SqueezeNet

2016年2月份,UC Berkeley和Stanford一帮人在arXiv贴了一篇文章:

这篇文章做成了许多人梦寐以求的事——压缩神经网络参数。但和以往不同,原作不是在前人网络基础上修修补补(例如Deep Compression),而是自己设计了一个全新的网络,它用了比AlexNet少50倍的参数,达到了AlexNet相同的精度!

关于SqueezeNet的创新点、网络结构,国内已经有若干爱好者发布了相关的简介,如这篇这篇,国外的文献没有查,相信肯定也有很多。

本文关注的重点在SqueezeNet为什么能实现网络瘦身?难道网络参数的冗余性就那么强吗?或者说很多参数都是浪费的、无意义的?

继续阅读神经网络瘦身:SqueezeNet

OpenMediaVault-3.0.89在系统更新升级后无法挂载磁盘

OpenMediaVault-3.0.89在执行应用升级

重启无法自动挂载磁盘,查看系统日志,看到如下内容:

这个原因是由于 collectd的升级导致了无法使用 systemd来启动。而 Openmediavaule加载硬盘的时候依赖 collectd模块,这个模块的启动问题导致全部磁盘都无法加载。

目前的做法是升级到最新的 OpenMediaVault-4.0,参考OpenMediaVault系统升级

但是升级后会遇到如下错误:

以及

修复方法为:

 

参考链接


ROS Kinetic切换OpenCV到2.X版本

注意,本文章只针对简单的应用,不涉及到复杂的严重依赖 OpenCV模块的项目。如果依赖复杂,可能会导致 OpenCV 2.XOpenCV 3.X的运行时库同时被加载,导致运行时候崩溃。

最近在使用 ROS开发项目,代码从 Indigo( Ubuntu 14.04)升级到 KineticUbuntu 16.04)。

发现 OpenCV升级到了 opencv-3.2.0-dev版本,但是实际使用中发现代码在 opencv-2.4.9版本上能正确运行,但是升级到 opencv-3.2.0-dev版本之后,就不能正常工作了。

为了查找问题,需要降级一下 OpenCV版本。

网上查找了一下,找到如下解决方法:

然后修改如下的内容(修改之前请注意先备份

指向系统自带的 opencv-2.4.9版本

修改完成后,必要的情况下,请在删除 ~/workspace/ros/catkin/目录下的 builddevel目录之后,重新编译。

参考链接


CVR100W升级到最新固件1.0.1.24

家里用的 CVR100W路由是几年前买的,当时升级过一次固件,版本到 1.0.1.19,但是最近几个月发现出现了无线不稳定的情况,有线访问打开路由器主页也变得比较慢,重启无效。因此怀疑是路由器系统在长时间运行后,这个版本的固件是存在问题的。

去思科官网搜索一下最新固件,竟然看到了 1.0.1.24版本的固件,于是下载下来CVR100W_FW_1.0.1.24,各位也可以去思科官网去搜索下载。

目前测试来看,这个版本的固件应该是更稳定,速度也有所提升。
继续阅读CVR100W升级到最新固件1.0.1.24

NVIDIA TX2 (Ubuntu 16.04)上安装CUDA 8.0

使用如下方式安装:

至于如何获取最新的 NVIDIA TX2上使用的 CUDA 8.0版本的下载地址,请访问Jetson Download Center,下载目前最新的JetPack 3.1。执行之后在存储目录下的 repository.json中找到最新的下载链接即可。当然也可以让JetPack 3.1自动下载完成最新的 CUDA 8.0版本到指定目录。

NVIDIA TX2 (Ubuntu 16.04)上安装ROS

首先编辑安装源

找到如下内容

开启 universe源,修改为:

然后更新源

然后执行如下安装脚本:

参考链接


Ubuntu 16.04上使用crosstool-ng编译Nvidia TX2上使用的boost库

目前在 Nvidia TX2上尝试安装 ROS Kinetic的时候发现依赖 libboost-all-dev,但是自带的源http://ports.ubuntu.com下面没有合适的源,尽管在 universe源下面包含 libboost-all-dev ,但是实际安装的时候发现安装不上。

因此尝试手工编译最新的 boost安装包,建立自己的源。

首先,编译安装最新的 crosstool-ng,如下:

生成的工具链在 ~/x-tools/aarch64-rpi3-linux-gnueabi目录下,编译的时候,指定编译工具即可。

安装编译依赖

接着,下载并编译最新的代码

注意,对于 boost-1.58来说,当时的代码是没有检测 ARM64的功能的,当年也没有 ARM64的芯片。因此需要修改 {boost_root}/libs/config/checks/architecture/arm.cpp里面的代码,增加 ARM64的判断

调整为

参考链接


使用ffmpeg来将mp4视频转换成gif格式图片

Ubuntu 16.04下使用

安装 ffmpeg工具。

-s用于设定分辨率, -b:v设定视频比特率来压缩大小

-ss 2 -t 5,从第 2秒的地方开始,往后截取 5秒钟, -r用于设定帧数. 通常 Gif15帧左右就比较流畅了

设置 fuzz因子可以将相近的颜色视为相同的颜色,这样就可以抵消抖动和色彩压缩的影响。
-fuzz选择多少能取得最大的压缩效果,同时对画质的影响可以接受,则需要耐心地尝试。

参考链接


使用ffmpeg来将mp4视频转换成gif格式图片

Ubuntu 16.04.3在使用GeForce GTX 970显卡的电脑上无法安装以及启动的解决方法

最近在一台安装了 GeForce GTX 970显卡的机器上,一直无法安装 Ubuntu 16.04.3系统的时候,一直卡住在如下界面:

继续阅读Ubuntu 16.04.3在使用GeForce GTX 970显卡的电脑上无法安装以及启动的解决方法