0%

2019年9月11日 下午12:38
Linux系统查看CPU、机器型号、内存等信息_Linux_脚本之家

系统:

  1. env# 查看环境变量
  2. head -n 1 /etc/issue # 查看操作系统版本
  3. hostname # 查看计算机名
  4. uname -a # 查看内核_操作系统_CPU信息

资源:

  1. top
  2. df -h # 查看各分区使用情况
    1. df
  3. du -sh <目录名># 查看指定目录的大小’
    1. du -a|sort 升序
    2. du -a|sort -rn倒序
    3. sort
  4. free -g free -m # 查看内存使用量和交换区使用量
  5. uptime # 查看系统运行时间、用户数、负载

CPU

  1. cpu

磁盘:

  1. fdisk -l# 查看所有分区
  2. swapon -s # 查看所有交换分区
  3. mount | column -t# 查看挂接的分区状态

网络:

  1. ifconfig # 查看所有网络接口的属性
    1. ifconfig
  2. iptables -L# 查看防火墙设置
  3. route -n# 查看路由表
  4. netstat -lntp # 查看所有监听端口
  5. netstat -antp # 查看所有已经建立的连接

进程:

  1. ps -ef# 查看所有进程
  2. top # 实时显示进程状态
    1. top

用户:

  1. w # 查看活动用户
  2. id <用户名># 查看指定用户信息
  3. last # 查看用户登录日志
  4. cut -d: -f1 /etc/passwd# 查看系统所有用户
  5. cut -d: -f1 /etc/group # 查看系统所有组
  6. crontab -l# 查看当前用户的计划任务

2019年9月11日 上午12:36
Linux或Ubuntu中查看磁盘空间大小的10个df命令_Linux教程_Linux公社-Linux系统门户网站
df -h /home

1
2
3
linuxidc@linuxidc:~$ df -h /home
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda4 25G 15G 8.5G 64% /home

重要基础知识:

  1. linux ln命令 - weixin_34137799的博客 - CSDN博客
  2. 操作系统软连接和硬链接的区别 - Wendyy - 博客园
  3. Linux文件系统下的分区和挂载 - 小小呆的博客 - CSDN博客

2019年9月11日 下午12:24

第一部分:总结

整体总结整理
linux - 随笔分类 - peida - 博客园 这个人详细总结了60个linux命令
骏马金龙 文章写得非常好:全面 细致 循序渐进
显卡芯片排名-天梯排名
Linux Tools Quick Tutorial 不仅包括指令,也包括linux下的调试,调优等高阶知识

第二部分:软件安装

离线
apt离线安装
pip 离线下载安装

非root
摘抄:ubuntu无sudo权限以及非root的用户apt安装软件
ubuntu下非root安装软件汇总 重要
非root用户 linux 安装pip3_rencyx的博客-CSDN博客 博客

ubuntu包管理
mac命令总结 mac中特殊的命令
服务器之间拷贝anaconda环境
ssh无密登录原理分析
服务器静态ip
openvpn原理入门
摘抄:openvpn安装和配置

第三部分:指令

文本操作:

sort:参数表
解压tar+unzip的特殊用法
linux文本三剑客+find 重新整理过,特别重要
screen+tmux
vim新学习 vim 常用
vim高级用法

性能+管理

硬盘:
df目录结构
硬盘目录结构

进程:
tee
ps进程为单位
僵尸进程:原理+清理
kill进程为单位

客户端操作进程的方式:
Linux 守护进程的启动方法:bg、disown、nohup、tmux、sytemd

io:
根据iostate判断计算机瓶颈设备为单位
iotop:每个进程是如何使用 IO进程为单位

查看系统版本和管理员
查询cpu信息

综合:

网络相关

netstat以连接为单位
ifconfig以网卡为单位
curl

权限相关

在单用户模式下修改root用户密码
历史命令:history
sudo :允许普通用户使用超级用户权限的工具
chmod:管理的对象是实实在在的文件
通过赋予root权限来区分:用户、用户组、文件权限、用户权限的关系
限制服务器登录:只能本机SSH公钥进行登录指定用户

第四部分:shell

shell(实例完成自动化dl模型测试)
Shell系列文章 | 骏马金龙 详细全面的介绍shell
expect的自动化安装shell
非root安装rsync(使用密码而不是RSA密钥)
rsync模板
openvpn简易安装脚本(这个脚本写的相当好)别人写的,相当好
logtamper使用 别人的
新建用户限制暴力ssh登录:vultr

2019年9月11日 下午2:07

排序命令,sort

  1. du -a|sort 升序
  2. du -a|sort -rn倒序
    1. 前面的du –a就是列出目录下所有的文件和目录的大小,后面的sort命令就是排序。
    2. 其中-r参数代表反向排序,因为sort默认是从小到大排序的,加-r是从大到小排序
    3. -n代表按照数字排序,只认数字不认单位,本例中的数字就是文件大小,单位是默认的KB,所以这个命令不能用du -ah,这会使排序结果出现2M小于100K的情况。
      Linux文件排序工具 sort 命令详解 - 我的小草鱼 - 博客园
      语法格式:
      sort [OPTION]... [FILE]…
      选项说明:
    4. -c:检测给定的文件是否已经已经排序。如未排序,则会输出诊断信息,提示从哪一行开始乱序。
    5. -C:类似于”-c”,只不过不输出任何诊断信息。可以通过退出状态码1判断出文件未排序。
    6. -m:对给定的多个已排序文件进行合并。在合并过程中不做任何排序动作。
    7. -b:忽略字段的前导空白字符。空格数量不固定时,该选项几乎是必须要使用的。”-n”选项隐含该选项。
    8. -d:按照字典顺序排序,只支持字母、数值、空白。除了特殊字符,一般情况下基本等同于默认排序规则。
    9. —debug:将显示排序的过程以及每次排序所使用的字段、字符。同时还会在最前几行显示额外的信息。
    10. -f:将所有小写字母当成大写字母。例如,”b”和”B”是相同的。
      • :在和”-u”选项一起使用时,如果排序字段的比较结果相等,则丢弃小写字母行。
    11. -k:指定要排序的key,key由字段组成。 key格式为”POS1[,POS2]”,POS1为key起始位置,POS2为key结束位置。
    12. -n:按数值排序。空字符串””或”\0”被当作空。该选项除了能识别负号”-“,其他所有非数字字符都不识别。
      • :当按数值排序时,遇到不识别的字符时将立即结束该key的排序。
    13. -M:按字符串格式的月份排序。会自动转换成大写,并取缩写值。规则:unknown<JAN<FEB<…<NOV<DEC。
    14. -o:将结果输出到指定文件中。
    15. -r:默认是升序排序,使用该选项将得到降序排序的结果。
      • :注意:”-r”不参与排序动作,只是操作排序完成后的结果。
    16. -s:禁止sort做”最后的排序”。
    17. -t:指定字段分隔符。
      • :对于特殊符号(如制表符),可使用类似于-t$’\t’或-t’ctrl+v,tab’(先按ctrl+v,然后按tab键)的方法实现。
    18. -u:只输出重复行的第一行。结合”-f”使用时,重复的小写行被丢弃。

2019年9月11日 下午1:23
ifconfig 命令详解 - 一个人的旅行的博客 - CSDN博客对参数、数出、使用都有清晰的说明
每天一个linux命令(52):ifconfig命令 - peida - 博客园

  • ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[root@localhost ~]# ifconfig eth0

// UP:表示“接口已启用”。
// BROADCAST :表示“主机支持广播”。
// RUNNING:表示“接口在工作中”。
// MULTICAST:表示“主机支持多播”。
// MTU:1500(最大传输单元):1500字节
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500


// inet :网卡的IP地址。
// netmask :网络掩码。
// broadcast :广播地址。
inet 192.168.1.135 netmask 255.255.255.0 broadcast 192.168.1.255


// 网卡的IPv6地址
inet6 fe80::2aa:bbff:fecc:ddee prefixlen 64 scopeid 0x20<link>

// 连接类型:Ethernet (以太网) HWaddr (硬件mac地址)
// txqueuelen (网卡设置的传送队列长度)
ether 00:aa:bb:cc:dd:ee txqueuelen 1000 (Ethernet)


// RX packets 接收时,正确的数据包数。
// RX bytes 接收的数据量。
// RX errors 接收时,产生错误的数据包数。
// RX dropped 接收时,丢弃的数据包数。
// RX overruns 接收时,由于速度过快而丢失的数据包数。
// RX frame 接收时,发生frame错误而丢失的数据包数。
RX packets 2825 bytes 218511 (213.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0



// TX packets 发送时,正确的数据包数。
// TX bytes 发送的数据量。
// TX errors 发送时,产生错误的数据包数。
// TX dropped 发送时,丢弃的数据包数。
// TX overruns 发送时,由于速度过快而丢失的数据包数。
// TX carrier 发送时,发生carrier错误而丢失的数据包数。
// collisions 冲突信息包的数目。
TX packets 1077 bytes 145236 (141.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

2019年9月10日 下午5:07

2019年12月13日 下午2:40
编译器的工作过程 - 阮一峰的网络日志
这个更加简单,系统

2019年9月10日 下午5:07

重要的参考:

Mac攻略(六) — Mac根目录分析 - archer-wong - 博客园
程序的运行流程 - tlanyan
linux下非root用户安装软件 - taolusi - 博客园

以opencv为例,介绍软件的安装、执行、系统目录结构

  1. ::先要理解:mac系统安装软件(brew+cmake)所使用的文件夹::
  2. opencv的安装过程:
    1. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    2. make -j8

    3. sudo make install
      1. 我理解:就是执行上面的可执行文件,将依赖库安装进_usr_local

2019年9月2日 下午2:22

Caffe

  1. caffe的总体流程是怎样的? - CaffeCN深度学习社区
  2. caffe在训练数据时,图像的尺寸不是方形,如何修改输入的尺寸大小 - CaffeCN深度学习社区
  3. Caffe | Layer Catalogue
  4. caffe入门教程 - zakexu的专栏 - CSDN博客
  5. caffe入门与实践-LeNet MNIST 教程 - 知乎
  6. 深度学习Caffe系列教程集合 | AbsentM’s Notes
  7. 重要
    1. Caffe | Blobs, Layers, and Nets
    2. Caffe | Layer Catalogue
      1. 讲了prototxt具体的样例,和其中参数的手册
  8. 浅谈caffe中train_val.prototxt和deploy.prototxt文件的区别 - fx409494616的博客 - CSDN博客
  9. im2col的原理和实现 - dwyane12138的博客 - CSDN博客
  10. 深度学习小技巧(二):模型微调 | Hey~YaHei!
  11. caffe源码深入学习6:超级详细的im2col绘图解析,分析caffe卷积操作的底层实现 - jiongnima的博客 - CSDN博客
  12. faster rcnn 源码解读(全) - ML study Blog
  13. 关于caffe 是如何卷积的一点总结 | Imagination中文技术社区
  14. 在Caffe中加Python Layer的方法 - 简书
  15. 仅使用NumPy完成卷积神经网络CNN的搭建(附Python代码) - 个人文章 - SegmentFault 思否
  16. Convolution in Caffe: a memo · Yangqing/caffe Wiki · GitHub
  17. 在 Caffe 中如何计算卷积? - 知乎
  18. caffe添加C++层和python层定义 - dataningwei的博客 - CSDN博客
  19. Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: Python - MissSimple - 博客园
  20. caffe 网络模型文件中的参数含义(top bottom lr_mult decay_mult)与模型编写以及模型自定义 - 一米阳光 - CSDN博客
  21. Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution - Mr-Lee - 博客园
  22. caffe中卷积操作,是真正的convolution还是 cross-correlation操作? - CaffeCN深度学习社区
  23. caffe深度学习【十七】配置MobileNet,caffe添加ConvolutionDepthwise层 - volcano_Lin 的博客 - CSDN博客
  24. Caffe源码解析5:Conv_Layer - Hello~again - 博客园
  25. Caffe卷积层的实现细节 - 宣小K的博客 - CSDN博客
  26. 关于CNN行为识别算法的学习记录 - 台部落
  27. GitHub - farmingyard/caffe-mobilenet: A caffe implementation of mobilenet’s depthwise convolution layer.

caffe中Protobuf

  1. Caffe学习(十)protobuf及caffe.proto解析 - piaopiaopiaopiaopiao - CSDN博客
  2. caffe源码学习之Proto数据格式【1】 - 龚细军 - 博客园
  3. caffe中是如何运用protobuf构建神经网络的? - 龚细军 - 博客园
    1. 对protobuf讲的挺好
    2. protobuf工具主要是数据序列化存储和解析。在实际使用的时候主要是作为一个代码自动生成工具来使用,通过生成对所定义的数据结构的标准读写代码,用户可以通过标准的读写接口从文件中进行数据的读取,解析和存储
  4. Caffe源码解析(一)——caffe.proto - 简书
    1. 对caffe.proto的注释(caffe.proto中定义了caffe模型的基本的数据结构)
    2. 算法是依托于数据结构的,这部分相当的重要,可以说是caffe的核心之一
  5. which protoc
  6. protobuf版本冲突问题 - 天才樱木 - CSDN博客

caffemodel显示、解析

  1. Caffe学习系列(16):caffemodel可视化 - denny402 - 博客园
  2. caffe 查看caffemodel中的参数与数据 - swiftfake的博客 - CSDN博客
  3. 找不到caffe/proto/caffe.pb.h? - 靖harry的博客 - CSDN博客
  4. Caffe学习(十)protobuf及caffe.proto解析 - piaopiaopiaopiaopiao - CSDN博客

Caffe框架的模型

  1. GitHub - bryanyzhu/Hidden-Two-Stream: Caffe implementation for “Hidden Two-Stream Convolutional Networks for Action Recognition”
    1. 这些框架都会修改caffe的源码

2019年9月2日 下午2:22

浅谈caffe中train_val.prototxt和deploy.prototxt文件的区别 - fx409494616的博客 - CSDN博客

  1. deploy里表现出来的只有一个数据层的设置。(需设置name,type,top,input_param)
    1. 在train_val.prototxt文件中,开头要加入一下训练设置文件和准备文件。
      1. 例如,transform_param中的mirror:true(开启镜像);crop_size:(图像尺寸);mean_file:””(求解均值的文件),还有data_param中的source:””(处理过得数据训练集文件);batch_size:(训练图片每批次输入图片的数量);backend: LMDB(数据格式设置)。
    2. 然后接下来,训练的时候还有一个测试的设置,测试和训练模式的设置通过一个include{phase: TEST/TRAIN}来设置。接下来就是要设置TEST模块内容。然后其他设置跟上面一样,里面有个batch_size可以调小一点,因为测试的话不需要特别多的图片数量。
  2. 卷积层的设置
    1. train_val.prototxt文件中多了param(反向传播学习率的设置),这里需要设置两个param一个是weight的学习率,一个时bias的学习率,其中一般bias的学习率是weight学习率的两倍。
    2. 然后就是设置convolution_param,但是在train_val里面需要有对weight_filler的初始化和对bias_filler的初始化。
  3. 设置激活激活函数
    1. 这一块由于没有初始化,所以两个文件都是一样的。
  4. 池化层
    1. 由于池化就是降低分辨率,所以这两边是一样的,只需要设置kernel_size,stride,pool即可。无需参数的初始化。
  5. LRN层
    1. 该层的全称是Local Response Normalization(局部响应值归一化),该层的作用就是对局部输入进行一个归一化操作,不过现在有论文表明,这一层加不加对结果影响不是很大。但这一层的定义都是相同的。
  6. “fc6”层,该层是全连接层
    1. 这里train_val里面还是多两个param学习率的设置,和weight_filler、bias_filler的初始化设置,而两者共同的是有一个输出向量元素个数的设置:inner_product_param。
  7. 激活函数RELU
  8. Dropout层
    1. 该层的目的就是为了防止模型过拟合。这其中有一个dropout_ration的设置一般为0.5即可。
  9. Accuracy
    1. 这个层是用来计算网络输出相对目标值的准确率,它实际上并不是一个损失层,所以没有反传操作。但是在caffe官网中,它在损失层这一部分。所以在deploy.prototxt文件中,这一层的定义是没有的。
  10. train_val的最后一个层是“SoftmaxWithLoss”层
    1. 也是简单的定义了name,type,bottom,top就完了。而这一块的内容也不在deploy.prototxt文件中。
    2. 而在deploy.prototxt文件中直接定义了一个type:”Softmax”。
  11. 通过对CaffeNet这两个文件的查看发现deploy.prototxt文件和train_val.prototxt文件之间的差异在很多层里面::牵扯到训练部分的都会被删除,然后就是反向传播训练部分会被删除。train_val主要多的就是参数的初始化和学习率的设置::