EIC研究室EdgeC+DL研究入门(C+Python+PyTorch+Vue+FastAPI)路径推荐v1013
EdgeC+DL研究入门(C+Python+PyTorch)路径
DL+CV入门路径推荐
EIC研究室入门类学习资料(含资料名称、获取链接、具体学习页码/章节,大概学习时间分配)
研究基础类课程学习
1 计算机系统结构与Linux系统类课程学习
完成如下在线课程学习并拿到任意一门的证书
[1] 《Linux 高级程序设计》https://www.youtube.com/playlist?list=PLwDQt7s1o9J5E4b9lks5f2Nngg5I72scT
[2] 计算机系统结构类课程
**华中科技大学 **https://www.icourse163.org/course/HUST-1207109824?from=searchPage
国防科技大学:http://www.icourses.cn/coursestatic/course_3266.html
The Computer Architecture Course (ECE568/668)》:http://www.ecs.umass.edu/ece/koren/ece568/
Computer Architecture Educational Tools:http://www.ecs.umass.edu/ece/koren/architecture/
基于状态机的简易 RISC CPU 设计:http://blog.csdn.net/ce123_zhouwei/article/details/7180066
Edward L. Bosworth 教授主页:http://www.edwardbosworth.com/
《EE-748: Advanced Topics in Computer Architecture》提供了新的必读文献(List of representative papers)
https://www.ee.iitb.ac.in/~viren/Courses/2016/EE748.htm
[3] CS6596 High-Performance Parallel Computing http://www.cse.iitm.ac.in/~rupesh/teaching/hpc/jun16/?mode=Lectures
[4] 编译原理 https://www.icourse163.org/course/NUDT-1003101005
2 C & OpenCL Programming(阅读书籍且完成书中实例的编程)
[1-第10和12章必读] 姜佑译. C Primer Plus 中文版(第 6 版) [M]. 人民邮电出版社,2020
[2-第6-10章必读] 王利涛,嵌入式 C 语言自我修养 从芯片、编译器到操作系统,电子工业出版社, 2021
[3-除image相关内容必读] 刘文志,陈轶,吴长江著《OpenCL 异构并行计算——原理、机制与优化实践》机械工业出版社,2016
[3-必读] Mattson, T., McIntosh-Smith, S., Koniges, A. OpenCL: a Hands-on Introduction
[4] (美)格兰巴(Ananth Grama)等著,张武等译《并行计算导论 Introduction to parallel computing(原书第 2 版)》机械工业出版社,2005 年 01 月
[5] Timothy G. Mattson《Parallel Programming Patterns: Working with Concurrency in OpenMP, MPI, Java, and OpenCL》2017
[6](美)雷蒙德•泰(Raymond Tay),张立浩译《OpenCL 异构并行编程实战(OpenCL Parallel Programming Development Cookbook)》机械工业出版社,2015 年 10 月
[7] George Duckett《OpenCL: Questions and Answers》2015
[8] 何兵寿,并行编程原理与程序设计,科学出版社,2021
3 AI 理论基础(+Pytorch)深度学习
[1] 《动手学深度学习》(PyTorch版) https://tangshusen.me/Dive-into-DL-PyTorch/
5.1-5.5必读,建议重点学习第4,5,9章即可,其余章节浏览下即可。
[2] 斯坦福大学《CS231n: Convolutional Neural Networks for Visual Recognition》视频课程官网:http://cs231n.stanford.edu/
2017课程视频:http://t.cn/R9Dfnxn
课程资料汇总介绍:https://www.52ml.net/20815.html
<面向视觉识别的卷积神经网络>中文课程:https://www.52ml.net/17723.html
[3] PyTorch 中文教程:https://pytorch.apachecn.org/
[4] Python Cookbook 3rd Edition: https://python3-cookbook.readthedocs.io/zh_CN/latest/index.html
4 Vue+Element plus+FastAPI
[1-第2-14章必读] Vue.js 3 + TypeScript 安全指南, 2023
[2-可完成Vue 3工程的升级] Single Page App with FastAPI and Vue
FastAPI + Vue的一套CMS开源源码模板
Single Page App with FastAPI and Vue: DEMO1
Single Page App with FastAPI and Vue: DEMO2
Single Page App with FastAPI and Vue: DEMO3
FastAPI与Vue3的通信
5 Linux Programming
[1] Edit Makefile file
https://makefiletutorial.com/
https://seisman.github.io/how-to-write-makefile/overview.html
6 Tools & IDE
[1] Install and configure Linux OS including Ubuntu 22.04, Debian 11,
[2] Tools % Linux commonds including git, cmake, cmake-gui, make, etc.
[3-IDE] VS Code
[4-进阶] C + OpenCL, IDE should use VS Code + vscode-opencl + CodeXL.
[5] MobaXterm for Windows:https://mobaxterm.mobatek.net/
7 Useful libs and tools for PyTorch
- Pytorch 网络可视化工具
- hiddenlayer
- 模型可视化工具Netron
- Torchinfo
Torchinfo provides information complementary to what is provided by print(your_model) in PyTorch, similar to Tensorflow’s model.summary() API to view the visualization of the model, which is helpful while debugging your network.
-Visdom
Visdom的安装与使用
Visdom可以直接接受来自PyTorch的张量,而不用转化成NumPy中的数组,从而运行效率很高。此外,Visdom可以直接在内存中获取数据,毫秒级刷新,速度很快。
-执行过程可视化Pytorchviz
Pytorchviz是一个程序包,用于创建PyTorch执行图和轨迹的可视化.
- Pytorch libs
- THOP: PyTorch-OpCounter, Count the MACs / FLOPs of your PyTorch model
- flopth: calculate and visualize the FLOPs and Parameters of Pytorch models
- Flops counter
- A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch
Install PyTorch on Win10/Ubuntu 20.04
下述方法(1)(2)均为安装支持NVIDIA GPU加速的PyTorch开发环境。若利用虚拟机进行实验或物理主机无NVIDIA GPU,则无需安装GPU驱动、CUDA SDK和CUDNN,直接安装CPU版PyTorch即可。
(1) Install PyTorch 1.8.2 on Win10 with GPU
- [Optional] Install CUDA SDK 10.2
- [Optional] Install cuDNN v8.3.2 for CUDA 10.2
- [Optional] Setting the system environment variables PATH & LIBRARY_PATH: 此电脑 — 属性 — 相关设置 — 高级系统设置,在打开的窗口中将CUDA和CUDNN的lib路径添加到LIBRARY_PATH中,将它们的bin路径添加到PATH中;
- Install conda & python 3.8
- Install PyTorch 1.8.2 with the following commond that automatically install cuda sdk and cudnn using conda ???
# install with GPU
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch-lts
# OR install with CPU
conda install pytorch torchvision torchaudio cpuonly -c pytorch-lts
- Install python programming IDE PyCharm or Eclipse + PyDev and setting conda environment variables
初学者利用笔记本进行基础练习和小模型推理或训练时,可采用方法(1)进行实验环境配置。若本机为Ubuntu OS,则需采用如下方法进行实验环境配置。
Install Pytorch on GPU cluster from CSIP
- 向实验室指导老师申请GPU账号
- Remote debug and run python code on GPU cluster with Pycharm
- Select a PyTorch docker image from https://hub.docker.com/r/pytorch/pytorch/tags
Then, using the following commond to create a customized docker image, such as
pytorch/pytorch:1.8.1-cuda10.2-cudnn7-devel
- Install python programming IDE PyCharm or Eclipse + PyDev on local host machine.
Install PyTorch LTS(1.8.2) on Ubuntu 20.04
- [Optional] Install GPU driver
在System Setting中选择Software & Updates->Additional Drives项时,将会自动在线搜索驱动程序,结果如下,点击Apply changes即可启动在线下载和安装。
[Optional]有时上述驱动并不能使用或者成功安装,则执行sudo add-apt-repository ppa:graphics-drivers/ppa命令添加驱动源,并在Other Software中勾选添加的源地址,为加快软件在线下载的速度,建议采用国内的地址源,如阿里云、中科大、网易等。
再次选择Software & Updates->Additional Drives项时,将会新增几个驱动选项,然后单击Apply Changes->输入root用户密码,系统会自动下载并安装。
否安装成功
执行nvidia-smi命令,若显示NVIDIA显卡设备驱动信息就表示安装成功;同时,可采用nvidia-smi工具进行显卡设置,例如
nvidia-smi –pm 1 # enable persistence mode on all GPUS
nvidia-smi –h # 显示帮助信息
nvidia-settings #在弹出的对话框中设置当前正在使用的显卡是NVIDIA GPU还是主板集成的GPU,已经NVIDIA GPU的相关参数
执行prime-select query 命令查看当前正在使用的显卡驱动,若显示NVIDIA则表示安装成功; - 若NVIDIA显卡驱动已安装成功,则在安装CUDA SDK时千万不能选择再次安装NVIDIA驱动,否则会导致各种异常。
- Download
cuda_11.1.1_455.32.00_linux.run
for installing CUDA 11.1,cudnn-11.3-linux-x64-v8.2.1.32.tgz
OR ‘libcudnn8-dev_8.2.1.32-1+cuda11.3_amd64.deb’ for installing cuDNN v8.2.1 for CUDA 11.x - Install CUDA SDK without GPU driver through run
sudo ./cuda_11.1.1_455.32.00_linux.run
sudo dkpg -i libcudnn8-dev_8.2.1.32-1+cuda11.3_amd64.deb
$ sudo gedit /etc/profile #使用gedit编辑环境变量文件
#set JDK1.8 & CUDA 11.1 environment
export JAVA_HOME=/usr/local/jdk1.8.0_311
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:/usr/local/lib:$LD_LIBRARY_PATH
cd cudnn-11.3-linux-x64-v8.2.1.32
sudo cp -rf cuda/include/* /usr/local/cuda-11.1/include/
sudo cp -rf cuda/lib64/* /usr/local/cuda-11.1/lib64/
- Install PyTorch with GPU support using pip
sudo ln -s /usr/bin/python3 /usr/bin/python
sudo pip install torch==1.8.2+cu111 torchvision==0.9.2+cu111 torchaudio==0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html
- Python IDE should use Eclipse + PyDev or PyCharm.
- Install python programming IDE PyCharm or Eclipse + PyDev on local host machine.
- Linux OS采用英文原版Ubuntu 20.04.*,IDE工具也是用英文原版,拒绝使用中文版。因中文版在出现问题时候很难定位/检索解决办法。
Tips & tools for DL programming
-
Tabby: support SFTP &SSH
主页:https://github.com/Eugeny/tabby
Tabby (formerly Terminus) is a highly configurable terminal emulator, SSH and serial client for Windows, macOS and Linux. -
MobaXterm for Windows
主页:https://mobaxterm.mobatek.net/
IDE技能要求
(1)快捷键:代码注释、取消注释、运行、调试…等
(2)环境变量配置、解释器配置、运行参数设置
(3)远程编译、远程调试、远程运行
(4)代码上传github、下载更新等
常用Linux命令
screen #挂起执行
nohup #挂起执行
lscpu
lsblk
sync
df -h
free -m
hostnamectl #查看OS及其kernel版本
常用学术工具
-
录屏工具
(1)Screenity - 屏幕录像和标注工具,Web浏览器插件
(2)ApowerREC
(3)EV录屏 -
远程桌面
(1)向日葵
(2)ToDesk远程控制软件
使用环境配置常见问题
Install
Pulish issues on Github repos
Issue Templet
更多推荐
所有评论(0)