[Markdown] README 템플릿

2024. 9. 19. 21:10Developers 공간 [Shorts]/Software Basic

728x90
반응형
<분류>
A. 수단
- OS/Platform/Tool : Linux, Kubernetes(k8s), Docker, AWS
- Package Manager : node.js, yarn, brew, 
- Compiler/Transpillar : React, Nvcc, gcc/g++, Babel, Flutter

- Module Bundler  : React, Webpack, Parcel

B. 언어
- C/C++, python, Javacsript, Typescript, Go-Lang, CUDA, Dart, HTML/CSS

C. 라이브러리 및 프레임워크 및 SDK
- OpenCV, OpenCL, FastAPI, PyTorch, Tensorflow, Nsight

 


1. What? (현상)

 

README.md는 Github의 프로젝트를 설명할 때 혹은 튜토리얼을 작성하기 위해 사용하는 파일입니다.

 

이 파일을 작성할 때 사용하는 언어는 MarkDown(마크다운) 언어인데, MarkDown은 일반 텍스트 기반의 경량 MarkUp 언어입니다. 즉, 일반 텍스트로 서식이 있는 문서를 작성하는 데 사용되며, 일반 MarkUp 언어에 비해 문법이 쉽고 간단합니다.

 

이번 글에서는 README.md를 작성하기 위해 필자가 사용하는 템플릿을 작성해두려고 합니다.


2. Why? (원인)

  • X

3. How? (해결책)

순차적으로 기록해보겠습니다.

 

1. 제목과 설명

제목과 본 프로젝트에 대한 설명을 기록합니다.

# PROJECT NAME 
This is for 000 in 000.

Advantages of this architecture is the following
- **Using Technique1**
    - Advantage1
    - Advantage2
    - Advantage3
- **Using Technique2**
    - Advantage1
    - Advantage2
    - Advantage3
    - Task separation
    
<img src = "https://github.com/user-attachments/assets/ABCD" width="80%" height="80%">

[1. 제목과 설명]

 

이미지는 해당 프로젝트의 Issues > New Issue > Write 부분에 사진을 올려놓으면, 링크로 변환되는데 해당 링크를 복사해 위 태그안에 넣어줍니다.

 

2. 실험된 환경 적어주기

본 프로젝트가 실험된 환경을 기록해둡니다.

## Tested Environment
**T4 GPU : Ubuntu(20.04), CUDA(12.1.0), CuDNN(8.9.0)**

**A100 GPU : Ubuntu(), CUDA(), CuDNN()**

[2. 실험된 환경]

 

3. 환경 셋팅

본 프로젝트를 실행하기 위해 설치하는 환경을 설명합니다.

## Required Install

1. **Install with apt-get**
```bash
apt-get update -y && apt-get install -y vim git python3 python3-pip wget curl ffmpeg
```


2. **Install with pip3**
```bash
pip3 install --upgrade pip
pip3 install torch torchaudio tensorboard packaging pycuda onnxsim json
```


3. **Install TensorRT**
- Get source from Nvidia page
```bash
wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/secure/8.6.1/tars/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.0.tar.gz
```


- Set TensorRT library in system
```bash
cp -r {DownloadFolder}/targets/x86_64-linux-gnu/include/* /usr/local/cuda/targets/x86_64-linux/include/
cp -r {DownloadFolder}/targets/x86_64-linux-gnu/lib/* /usr/local/cuda/targets/x86_64-linux/lib/
cp -r {DownloadFolder}/targets/x86_64-linux-gnu/bin/* /usr/local/bin/
echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/targets/x86_64-linux/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
```


- Install Python packages
```
pip3 install {DownloadFolder}/python/tensorrt-8.6.1-cp38-none-linux_x86_64.whl
pip3 install {DownloadFolder}/onnx_graphsurgeon/onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl
```

4. **Install Packages for LM (Optional)**
```bash
apt-get install zlib1g-dev liblzma-dev libbz2-dev libboost-all-dev
git clone https://github.com/kpu/kenlm.git
cd kenlm
mkdir -p build
cd build
cmake ..
make -j4
make install
```

[3. 환경 셋팅]

 

4. 프로젝트 Configuration

프로젝트를 실행하는데 필요한 Configuration 방법에 대해 설명합니다. 아래는 코드내에 어떤 부분을 수정해야하는지를 의미합니다.

## Required Setting for 00
1. **Required to 00** : {Project2}/Path/To/file.py
- ModifiedClass class > forward() function 
```python
    ...
    def forward(
        self, signal, length
    ):
        signal, length =self.forward_internal(
            signal,
            length
        )
        signal = signal.transpose(1,2)
        return signal, length
    ...
```

[4. 프로젝트 Configuration]

 

5. 실행방법

실행하는 방법에 대해 설명합니다.

## How to use 

1 **Setting Guide**
- Change configuration in **module/config.json**
- You must modify **".ckpt"** path and **"name.model"** path in **main.py**

2 **How to start**
- Various options
    - MODE=0 : Run with single file
    - MODE=1 : Run with data sample file (See example data file examples/data_sample1.json)
    - MODE=2 : Run with server mode
- Run with the following command
```bash
CUDA_MODULE_LOADING=LAZY python3 main.py mode=2
```
- You can use client example with the following command
```bash
python3 examples/client_example.py
```

[5. 실행방법]

 

6. 프로젝트 관리자

## Authors
name : tkyoo

email : tkyoo@tistory.com

[6. 프로젝트 관리자]


https://markdown-it.github.io

728x90
반응형