Study materials
깃은 코드 관리, 버전 관리를 위해 필수 불가결한 도구로 사용되고 있습니다. 다루는 코드가 많고, 방대해지면 자신을 믿을 수 없게 됩니다. 협업에서도 중요한 역할을 합니다. Summary-1 & Summary-2 | 웹말고 다운 받아 보세요
아래의 강좌를 추천합니다. GUI 때문에 Window에선 Souretree를 이용하면 편리하고, 서버에서는 Git CLI 명령어를 숙지하시면 됩니다.
서버에 접속하기 위해 터미널(X-Shell, Putty 등)을 이용합니다.
- X-shell v6 학교, 가정용으로 다운
- 서버접속하기/ ftp 이용하기
응답속도가 빠른 GUI가 필요한 경우 VNC를 이용해 서버에 접속합니다.
서버에서 텍스트 편집기 Vim을 주로 사용합니다.
- Simple Vim Guide
- 밤앙개 Vim
- 자주 사용하는 vim 플러그인 100
- Dotfiles/Plugin Auto install
- works @ EDA, HDL, CPU, GPU and CNN servers (Except RTL - cetos 6)
Tcl (Tool Command Language)은 Front-end, Back-end 등에서 사용할 툴들을 조작하는데 사용됩니다.
Screen은 리눅스에서 코드를 장시간 안정적으로 돌리기 위해 사용합니다. 스크린을 사용하지 않을 경우 사용 중인 터미널(X-Shell etc)을 끄거나 인터넷연결이 끊어지면 다시 코드를 돌려야합니다.
- Screen Summary
- Screen Copy mode, 스크린 재 접속 후 위에 어떤 작업이 진행됬는지 확인하기
- Entering Copy Mode and Scrolling
- By default, enter copy mode with CRTL+a then ESC. You can use vi like commands to navigate through the scollback buffer. The arrows and PAGE UP/DOWN should works as well.
- Entering Copy Mode and Scrolling
윈도우의 바로가기와 비슷한 개념입니다. 크게 Hard Link, Softlink (symbolic link) 두 가지 링크 파일이 존재합니다.
- 링크 생성하기
사용법: $ ln [옵션] 원본 링크
하드링크 $ ln 원본 링크
소프트링크 $ ln -s 원본 링크
- 소프트링크 삭제하기
- rm -f 로 삭제
- 마지막에 /를 붙이면 안됨
-
🌟 원본 폴더를 삭제하지 않도록 주의해야함 아래 명령어 수행시 원본파일 삭제됨
$ rm -rf myfolderlink/ --> Bad End
범용적으로 사용할 수 있는 소프트웨어와 달리 하드웨어는 특수한 목적으로 동작하는 장치입니다. 만드는데 오랜 시간과 많은 비용이 소모되지만 저전력으로 높은 성능을 얻을 수 있어 하드웨어를 사용합니다. 하드웨어는 개발 단계가 진행될 수록 버그를 찾기 힘들며, 수정하기 어렵고, 수정 비용이 크게 증가합니다. 따라서 각각의 개발 프로세스를 이해하고 준수하는 일이 무엇보다 중요합니다. 하드웨어를 설계하는 과정은 크게 Front-end와 Back-end 두 가지로 구분할 수 있습니다. Front-end는 하드웨어의 스펙과 동작을 정의해서 논리 회로로 구성된 netlist를 만들어내는 과정이며, Back-end는 설계된 로직을 실제 Die로 배치하는 등의 물리적인일을 담당합니다. 빌딩을 짓는 과정으로 예를 들면 건물의 크기 등의 스펙을 결정한 후 캐드등의 툴을 사용해서 도면을 그려보는 과정이 front-end 입니다. 설계 의도에 따라 아파트가 될 수 도있고 주상복합이 될 수있는 것처럼 어떤 하드웨어를 만들 것인지 명확한 정의가 필요한 과정입니다. 이어서 도면과 설계도를 기반으로 건물을 완성하는 과정이 back-end 입니다. 일을 하는 순서, 혹은 재료를 공급하는 시기 적절함에 따라 작업의 효율성이 달라질 수 있으며, 마감 처리등에 따라 완성도 (성능)가 달라질 수 있습니다. back-end는 설계 의도를 반영해서 물리적인 하드웨어 chip을 만드는 과정입니다. Ref
-
Design of Digital Circuits & Computer Architecture
- MIT Tutorial
- Stanford CS217 - Hardware Accelerators for Machine Learning
- Papers: Deep Learning & HW Accelerators
- Collection of recent methods on DNN compression and acceleration
- Neural Network Acceleration Study
- Neural Network Accelerator Inference
- Embedded and mobile deep learning research resources(EMDL)
- UsefulSite1: ETH Zurich & UsefulSite2: Cornell ECE4750 & UsefulSite3: Cornell ECE5745
- MIPS Instruction Set Architecture 1 & 2
- Neural Network Dataflow Scheduling
-
Xilinx Vivado
-
Xilinx High Level Synthesis
-
Open Source
- Free programming books
- Deep Into Algorithm from MIT
- The Algorithms: Open Source Resource for Newbies to Learn Algorithms and Implement them in any Programming Language
- Google Coding Style Guides
- Programmers Coding Test
- 코딩도장 C
- Embedded C
- 임베디드 프로그래밍 C 코드 최적화 eBook
- GCC 사용법
- Makefile 만들기
- 디버깅: GDB 사용하기
- 생활코딩
- OpenCV
- Darknet: Open Source Neural Networks in C
- Python 대학 강의 모음 + Tips
- K-Mooc: 데이터 과학을 위한 파이썬 입문
- pyCheckiO - python quiz
- Anaconda 유용한 사용법
- 파이썬 클린코드 - git
- Google Python Style
- 클래스 및 모듈 정리
- 30-helpful-python-snippets
- Awesome Python: frameworks, libraries, software and resources
- Python Cheatsheet
- Matplotlib
- python process time measure
- python profiling
- python GUI Programming
- 머신러닝과 딥러닝 BASIC
- [GIST yongyi lee 머신러닝 BASIC] - Slide, Youtube
- 역전파 알고리즘 완전정복
- 논문으로 짚어보는 딥러닝의 맥
- Stanford cs231n_17_KOR_SUB
- Stanford cs230 -Deep Learning
- 이상화교수님 - 확률 및 통계
- State of AI Report 2019.06.28
- LeaderBoard: StateOfTheArt.ai
- Paperwithcode
- Benchmarks.AI
- Awesome-NAS
- Awesome-AutoML-Papers
- awesome-AutoML-and-Lightweight-Models
- Literature on Neural Architecture Search
- An Overview of Google's Work and AutoML and Future Directions / ICML 2019
- KAIST 딥러닝 홀로서기 세미나 2019 Pytorch
- convNet.pytorch - training example
- Pytorch로 시작하는 딥러닝
- Everything You Need To Know About Saving Weights In PyTorch
- pytorch-how-and-when-to-use-module-sequential-modulelist-and-moduledict
- pytorch Autograd
- PyTorch Multi-GPU 제대로 학습하기
- Nvidia Jetson
% Rotaing Table: use `sidewaystable` from the `rotating` package
\usepackage{rotating}
\begin{sidewaystable}
\centering
\caption{Your caption here}
\begin{tabular}{ll}
First First & First Second\\
Second First & Second Second
\end{tabular}
\end{sidewaystable}
% Definition on the main file
\definecolor{applegreen}{rgb}{0.55, 0.71, 0.0}
\definecolor{azure(colorwheel)}{rgb}{0.0, 0.5, 1.0}
\newcommand{\rone}[1]{\textcolor{applegreen}{#1}}
\newcommand{\sh}[1]{\textcolor{azure(colorwheel)}{[SH: #1]}}
\newcommand{\shrev}[2]{\textcolor{azure(colorwheel)}{\sout{#1}[SH: #2]}}
% How to use it
\rone{Test}
\shk{the}
\shkrev{conformable}{their respective} output
\usepackage{hyperref}
\hypersetup{ colorlinks=false, linkcolor=red, filecolor=magenta, urlcolor=cyan, citecolor=green }
- LaTeX Symbols1 & LaTex Symbols2
- In a math environment, LaTeX ignores the spaces you type and puts in the spacing that it thinks is best. LaTeX formats mathematics the way it's done in mathematics texts. If you want different spacing, LaTeX provides the following four commands for use in math mode:
\; - a thick space
\: - a medium space
\, - a thin space
\! - a negative thin space
- PowerPoint
- PPT 만들기: 생각부터 PPT 문서까지 전부 보여드립니다!
- Excel
- WaveDrom: Digital Timing Diagram & 관련
- Draw.io: visio 대안 무료 Drawing Program & 관련
- Markdown문법1 & Markdown문법2 & Markdown문법3
- ReadMe MD Generator
- CV Template
- Pronunciation - Sounds American Channel
- 브릿센트 x 영국영어
- Learn English with Emma