通过">"重定向日志,每次写入日志时会不会先把已有日志读入内存,然后再追加?

疑问

1. 假设有程序不断地输出日志到 /var/log/example.log

# ./test.sh > /var/log/example.log

2. 假设这个程序会运行一年,日志量可能到达5GB.

3. 程序在每次写入新日志的时候,“>”会不会先将 /var/log/example.log 的已有数据读入内存,再追加新的日子? 如果是这样,内存会被大量占用而影响系统性能。
继续阅读“通过">"重定向日志,每次写入日志时会不会先把已有日志读入内存,然后再追加?”

怎样把文件清零,使得vmware能回收存储空间?

正常情况下,在系统中删除一个文件,只会在文件系统层面把文件相应的 inode 信息删除,实际上数据仍存在于磁盘中。

在vmware环境中,vmware实际上可以回收磁盘未被使用的空间,把空间留给其他虚拟机使用。

所以,在删除文件的时候,可以将文件的数据清零,使vmware可以把空间回收。
继续阅读“怎样把文件清零,使得vmware能回收存储空间?”

CarND Project 3 - 行为模仿 - 教模拟器开车

目标

第三个作业,是实现在模拟器上的“自动驾驶”。这个作业要训练出一个模型,模拟器给出汽车前置摄像头的图像作为输入,模型要输出一个方向(往左或往右多少)。

因为会用到 Keras 框架,所以本文会先简单介绍 Keras. 由于课程还提到了 Transfer Learning, 所以也整理上笔记。

继续阅读“CarND Project 3 - 行为模仿 - 教模拟器开车”

CarND Project 2 - 交通标志识别

目标

这个作业的目标是,训练出一个网络,给它32x32图片作为输入,它能判断出这个图片代表什么交通标识。

这个网络基于 LeNet, 所以本文会先讲述 DNN 和 CNN 的一些基础知识,再讨论作业的代码实现和训练过程。

DNN - Deep Neural Networks

单层网络 f=WX+b 只能进行线性转换,难以进行复杂的判断。通过堆积多层网络,添加非线性的元素(如activation layer),使得网络可以处理更负责的情况。

Source: Udacity

继续阅读“CarND Project 2 - 交通标志识别”