背景
最近本人尝试搭建几个局域网 Web 服务
考虑到wsl2有以下优势:
可以直接挂载本地硬盘:/mnt/c
可以根据程序需求动态变更所需资源
对外跟宿主机IP是一致的,本机可以通过 127.0.0.1 访问,外部设备可以通过宿主机IP访问
于是尝...
阅读全文...
【Linux/UNIX系统编程】进程
1. 进程号和父进程号
获取进程号:
#include <unistd.h>
pid_t getpid(void);
// always successfully returns process ID of caller
可以通过 Linux...
阅读全文...
阅读全文...
【Linux/UNIX系统编程】文件I/O 2
1. 文件控制操作:fcntl()
#include <fcntl.h>
int fcntl(int fd, int cmd, ...);
// return on success depends on cmd, or -1 on error...
阅读全文...
阅读全文...
【Linux/UNIX系统编程】通用I/O模型
本章重点介绍用于文件输入/输出的系统调用。本章开篇会讨论文件描述符的概念,随后会逐一讲解构成通用 I/O 模型的系统调用,其中包括:打开文件、关闭文件、从文件中读数据和向文件中写数据。
所有执行 I/O 操作的系统调用都以文件描述符,一个非负整数(通常...
阅读全文...
阅读全文...
【Linux/UNIX系统编程】 系统编程概念
1. 系统调用
以x86平台为例,分析系统调用:
应用程序通过调用 C 语言函数库中的外壳(wrapper)函数,来发起系统调用
对系统调用中断处理例程来说,外壳函数必须保证所有的系统调用参数可用。通过堆栈,这些参数传入外壳函数,但内核却希望将这些参数...
阅读全文...
阅读全文...
【深度学习】Spatical Transformer
出现原因:CNN不能解决图像放大缩小和旋转的问题(即数据增强问题)
Spatial Transformer Layer是在CNN前又叠了一个Neuron Network
它不仅可以transform input layer,也可以被放在CNN里面,...
阅读全文...
阅读全文...
【深度学习】Adaptive Learning Rate
critical point 不一定是我们训练中最大的阻碍
大多时候,Loss不再变动,大家会猜测是不是gradient为0的问题,但实际上Loss不再下降时gradient不一定很小
当Learning rate较大时,会发现gradient在两侧震...
阅读全文...
阅读全文...
【深度学习】Batch and Momentum
Batch
shuffle:常见做法为在每次epoch开始之前划分一次batch,每个epoch的batch都不一致,使得每个epoch都不一样
但更新参数也需要时间
因此,batch过小其实会耗费巨量的时间,但batch过大会影响结果...
阅读全文...
阅读全文...
【深度学习】Local Minima and Saddle Point
在模型训练过程中,我们可能会遇到模型loss function无法下降的情况,此时梯度为0,这个点统称为临界点(critical point)
局部最小值 (local minima) 与鞍点 (saddle point)
如何判断是卡在局部最...
阅读全文...
阅读全文...