目录
- 今日已完成任务列表
- 遇到的问题及解决方案
- 任务完成详细笔记
- Darknet框架优化介绍
- darknet介绍
- YOLO
- 高性能计算与超级计算机简介
- 算力
- 超级计算机概念与体系结构
- 并行编程技术
- Linux常用操作命令
- Linux操作系统与指令使用
- 机器信息查询
- 文件、目录和权限
- 文件内容查看
- 环境变量使用
- 对自己的表现是否满意
- 简述下次计划
- 其他反馈
今日已完成任务列表
4-1、Darknet框架优化介绍
4-2、高性能计算与超级计算机简介、Linux常用操作命令
遇到的问题及解决方案
无
任务完成详细笔记
Darknet框架优化介绍
darknet介绍
- 使用C语言编写的神经网络框架
- 支持训练和测试各种计算机视觉算法
- 可用于进行实时物体检测
darknet优点:
1、相比于TensorFlow等具有更好的移植性
2、灵活性高,可以便捷的从底层对其进行代码改进与扩展
3、结构明晰,可以方便的对源代码进行查看、解读和修改
4、安装简单方便,通过自带的makefile可进行附加项的选择
Makefile变量中各种开关的作用
GPU=0:是否使用GPU加速
CUDNN=0:是否使用nvidia官方的cudnn神经网络
OPENCV=0:是否使用opencv
OPENMP=0:是否使用openmp多线程
DEBUG=0:是否开启调试模式
YOLO
YOLO算法中把物体检测问题处理成回归问题,用一个卷积神经网络结构将输入图像直接预测bounding box和类别概率
主要架构:多层卷积
关键算法:矩阵矩阵乘法GEMM
- 一个卷积核为一个向量
- 多个卷积核组合成矩阵
高性能计算与超级计算机简介
HPC高性能计算技术,三个类型:科学类、工程类、智算类。
科学类:主要方向是科研计算
工程类:主要方向是工业生产
自动化智算类:主要方向是人工智能
算力
即计算能力,芯片是算力的主要载体,充分利用算力离不开技术和人才
- 通用算力:通用芯片 (x86、ARM)
- 专用算力:专用芯片 (FPGA、ASIC)
超级计算机 (高性能计算平台),是计算和计算机技术的集大成者
G级:109
T级:1012
P级:1015
E级:1018
超级计算机概念与体系结构
现代超级计算机由一系列特定功能的服务器 (节点),按专门的结构组织到一个共同进行计算等任务
要求:了解科学计算阵列的基本原理
计算节点:计算资源,承担计算任务,数量庞大
登录节点:进行程序开发、移植、编译、作业提交、资源调度分配等
管理节点:资源管理,维护、监控等
存储节点:数据存储服务
用户通过作业管理系统的指令发送到登录节点 (Linux操作系统),登录节点执行之后调度计算节点进行计算
并行编程技术
任务分块各自进行计算+通信 (数据共享)
超级计算的工作基本原理:分布式并行;共享存储式并行
线程与进程的区分:线程之间不谈及消息传递,在主存同一个进程空间内共享数据
登录到天河超算平台:
ssh th3-1
ssh th3-2
ssh th3-3
ssh th3-4
Linux常用操作命令
Linux操作系统与指令使用
shell 指令可以理解成运行一个软件,只不过是命令行的形式
一条shell指令可能包含:[指令名称] [参数:-para 或 --para] [命令操作对象]
获取帮助:[指令名称] --help
简单的 shell 指令:
- 显示cpu的相关信息
lscpu
- 显示系统内存的使用情况,物理内存、交换内存、内核缓冲区内存
free
- 实时查看系统的运行情况,内存、CPU、负载以及各个进程的资源占用情况
top
机器信息查询
- 用户名称:当前使用的账户
whoami
- 服务器名称:当前所使用的节点
hostname
- 机器信息:基本硬件配置
lscpu
- 内存信息
free
- 监视进程和Linux整体性能
top
e:调整内存单位
l:显示各个CPU核心具体使用情况
文件、目录和权限
- 查看指定目录下所有文件
ls
以详细列表形式显示文件:ls -l
以修改时间倒序显示文件:ls -ltr
通配符:*
例:查看文件名中带有na字符的文件:ls * na*
- 更改文件权限
chmod [para] [filename]
增减某种权限:
chmod +x [filename]
chmod -w [filename]
- 目录的创建,目录以及文件的删除
mkdir [directoryName]
rm [-rf] [filename or directoryName]
- 查看当前目录 (路径)
pwd
- 目录切换
cd [absolutePath]
cd .. 上级目录
cd . 当前目录
cd - 上次访问目录
cd ~ 用户根目录
- 文件的创建 (空文件)
touch [filename]
- 文件/目录的移动
mv [filename] [object_directiryName]
- 文件/目录的重命名
mv [old_filename] [new_filename]
- 文件/目录的拷贝
cp [source_filename] [dest_filename]
- 文件/目录名称补全
输入文件名称起始n个字符后,单击tab键,将快速把文件名称补全,加快速度
- 文件和目录查找:find (在目录中找文件/文件夹)
在指定目录下搜索,文件名中包含某特定字符串的文件
find [directory] -name [filename]
- 文件字符搜索:grep (在文件中找字符串)
grep "[string]" -r [filename]
文件内容查看
- 显示文件全部内容
cat [file_name] 将文件整个内容从上到下显示在屏幕
- 显示文件开头
head [file_name]
head -n [line_num] [file_name] 指定行数
- 显示文件结尾
tail [file_name]
tail -n [line_num] [file_name]
tail -f [file_name] 动态刷新文件末尾
- 显示文件结尾
more [file_name]
环境变量使用
- 环境变量的查看、设置和删除
env 用来显示环境变量, 显示当前用户的环境变量
export 用来设置环境变量
echo 用来查看指定变量内容
例:echo $PATH
- 重要的系统级环境变量
PATH 当前shell命令、系统程序、应用程序以及自定义可执行文件的路径
LD_LIBRARY_PATH 可执行共享库(动态库)的目录路径
例:export PATH=[one_path]:$PATH
等号两端不能有空格
例:将/home/user/bin路径正确加入到PATH环境变量中
export PATH=/home/user/bin:$PATH
export PATH=$PATH:/home/user/bin
export PATH=${PATH}:/home/user/bin
对自己的表现是否满意
本次学习首次了解到了DarkNet框架,同时对高性能计算也有了一定的了解,之后又学习了一些Linux下的基础的shell指令,收获还是挺多的
简述下次计划
了解编辑器vim、编译器GCC、Make等的使用
其他反馈
无