目录

  • 今日已完成任务列表
  • 遇到的问题及解决方案
  • 任务完成详细笔记
    • 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-1ssh th3-2ssh th3-3ssh th3-4

Linux常用操作命令

Linux操作系统与指令使用

shell 指令可以理解成运行一个软件,只不过是命令行的形式

一条shell指令可能包含:[指令名称] [参数:-para 或 –para] [命令操作对象]

获取帮助:[指令名称] –help

简单的 shell 指令:

  • 显示cpu的相关信息
lscpu
  • 显示系统内存的使用情况,物理内存、交换内存、内核缓冲区内存
free
  • 实时查看系统的运行情况,内存、CPU、负载以及各个进程的资源占用情况
top

机器信息查询

  • 用户名称:当前使用的账户
whoami
  • 服务器名称:当前所使用的节点
hostname
  • 机器信息:基本硬件配置
lscpu
  • 内存信息
free
  • 监视进程和Linux整体性能
tope:调整内存单位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:$PATHexport PATH=$PATH:/home/user/binexport PATH=${PATH}:/home/user/bin

对自己的表现是否满意


本次学习首次了解到了DarkNet框架,同时对高性能计算也有了一定的了解,之后又学习了一些Linux下的基础的shell指令,收获还是挺多的

简述下次计划


了解编辑器vim、编译器GCC、Make等的使用

其他反馈