포트폴리오
Last Edit: Sep-08-2023
Online 3D RPG GitHub
Skill: Unity4, C#, TCP/IP socket, 구현
고등학생때 친구들과 함께 만든 3D Online RPG입니다. 이 게임을 구현하면서 아래와 같은 것들을 배울 수 있었습니다.
- 복잡한 게임의 설계 및 구현
- 선형대수 관점의 3D 수학
- TCP통신
Codebase3D GitHub
Skill: OpenGL, 선형대수
컴퓨터그래픽스강의(SSU-CG)을 듣고 저만의 3D그래픽스 codebase가 있으면 좋겠다고 생각하여 만든 프로젝트입니다. 기본적인 Model, View, Projection공간과 Scene트리에서 좌표계변환, 그리고 Inverse Bind Pose Matrix의 의미를 이해하고 직접 구현했습니다.
구현한 것
- Scene Tree(Camera, etc.)
- Mesh
- Texture and Material
- Skinning(CPU)
OpenVINO GitHub(PRs)
Skill: OpenCL, GPU구조, AI최적화
OpenVINO(Open Visual Inference and Neural network Optimization)는 다양한 인텔 하드웨어에서 딥러닝 모델을 최적화해주는 오픈소스 프레임워크 및 툴킷 입니다.
배운 것들
- AI연산들의 이해, 구현, 최적화
- GPU구조
- 대규모 C++프로젝트에서의 디버깅 및 프로파일링
- 협업능력(팀원과의 소통, Git 등)
Selected PRs
- Quantize bugfix (#14176) [PPT]
- Deconv bugfix (#13517) [PPT]
- reduce_gpu_b_fs_yx_fsv16.cl bugfix (outside value of shape issue)(#15748)
- 이슈의 원인을 분석하고 해결하여 PR을 제안했지만, 여러가지 검증할 것이 많아서 마무리하지 못하고 (#17477)에서 완료되었습니다. 최종 패치내용은 저의 해결책과 동일합니다.
- Fix weight reorder bug (#15672)
- Fix unit test: test_select_preferred_formats.setting_target_conv_format(#14837)
Snake Game RL GitHub(A2C) GitHub(PER-D3QN)
Skill: Reinforcement Learning, Pytorch
강화학습에 대해 공부한 내용을 스스로 이해했는지 검증해보는 차원에서 진행한 개인프로젝트입니다. 강화학습 환경부터 신경망구성, 학습알고리즘(A2C,PER-D3QN)까지 직접 pytorch만으로 구현했습니다. 에이전트가 human-level까지 학습되는것을 확인하고 프로젝트를 마무리했습니다.
Algorithm Problem Solving Baekjoon Online Judge Competitive Programming
Skill: Algorithm, Data Structure, Modern C++(20+)
ps.cpp
문제를 풀며 구현한 알고리즘과 자료구조 코드를 재사용가능한 형태로 추상화하여 관리하는 라이브러리입니다. 온라인저지에 제출할 수 있도록 header file 종속성을 위상정렬하여 하나의 파일로 합치는 기능을 제공합니다. 2018년부터 지금까지 꾸준하게 관리해오고 있습니다.
Blog GitHub
Skill: backend=Flask(python), frontend=HTML5+CSS3+jquery, infra=Google Cloud Platform
공부한 것들을 정리해서 올리기 위해 만든 개인블로그입니다. 깊이제한 없는 카테고리트리 및 답글을 구현하였습니다.