Coder Social home page Coder Social logo

hiddenbeginner / 2022_oibc_competition Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 7.06 MB

2022 POSTECH X DERShare OIBC 태양광 발전량 예측 경진대회. 대상 수상 팀 Sun capturer 팀 결과물.

Python 0.99% Jupyter Notebook 99.01%
competition

2022_oibc_competition's Introduction

2022 POSTECH OIBC CHALLENGE 태양광 발전량 예측 경진대회

result

2022 POSTECH OIBC CHALLENGE 태양광 발전량 예측 경진대회에서 대상 (1등 / 64팀)을 받은 Sun Capturer팀의 솔루션 및 발표 자료입니다.

Sun capturer팀

"태양과 상금을 획득하는 사람"의 의미

  • 조성하 (POSTECH 수학과)
  • 이은미 (POSTECH 환경공학부)
  • 이동진 (POSTECH 인공지능대학원)

대회 소개

  • 대회 목표: 타 지역 태양광 발전소들의 발전량 데이터를 활용하여 신규 설치된 광명시 태양광 발전소의 다음 날 24시간 동안의 매시간 발전량 구간 예측 등록
  • 대회 기간
    • 2022년 10월 24일 ~ 2022년 11월 12일: 사전 대회 기간 (태양광 발전량 예측 모델 구축 기간)
    • 2022년 11월 14일 ~ 2022년 11월 18일: 경진 대회 기간 (실제 태양광 발전량 예측)
    • 2022년 12월 01일: 발표 평가
    • 2022년 12월 02일: 결과 발표

팀의 해결 책

  • WaveNet 기반 확률 모델 (태양광 발전량의 평균과 표준편차 출력)
  • 발표 자료 참고

디렉토리 구성

이 레포지토리의 구성은 다음과 같습니다.

root
│
├── README.md                                    # 디렉토리 안내 파일
│
├── 2022-12-01_OIBCCompetition_Sun_capturer.pdf  # 발표 자료
│
├── data/                                        # 데이터 폴더 (첨부파일에서는 생략)
│
├── ckpt/                                        # 모델 체크포인트 폴더
│
├── notebooks/                                   # ipynb 파일 폴더
│   ├── (1)_Collecting_data.ipynb                # API를 사용하여 forecasts1 및 gens 데이터 수집
│   ├── (2)_Preprocessing_forecasts1.ipynb       # forecasts1.csv, gens.csv 전처리 및 병합
│   ├── (3)_Train.ipynb                          # 모델 훈련
│   ├── (4)_Inference_ensemble_models.ipynb      # 단일 모델 입찰
│   ├── (4)_Inference_single_model.ipynb         # 앙상블 입찰
│   └── 외 기타 ipynb 파일
│
└── suncapturer/                                 # 사용자 정의 모듈 일체
    ├── __init__.py                              # 모듈화
    ├── datasets.py                              # torch.utils.Dataset 정의
    ├── losses.py                                # 손실함수 및 평가지표 정의
    ├── networks.py                              # WaveNet 및 CausalWaveNet 정의
    ├── solver.py                                # 모델 훈련 클래스
    ├── utils.py                                 # 기타 유틸리티 함수 일체
    └── config/                                  # 모델 훈련 하이퍼파라미터 폴더
         └── __init__.py                         # 모듈화

코드 실행

코드는 notebooks/ 폴더에 있는 ipynb 파일들을 번호 순서대로 (1)번부터 (4)까지 실행하시면 됩니다. (1)번과 (2)번은 데이터 전처리 코드이기 때문에 한번만 실행하면 그 이후로는 실행할 필요가 없습니다. (3)번에서 여러가지 하이퍼파라미터를 설정하여 모델을 훈련시키고 그 결과를 WanDB를 통해 비교할 수 있습니다. 파일명이 번호가 아닌 날짜로 시작하는 ipynb 파일들은 주로 분석용 및 시각화 파일이며, 코드가 정리되어 있지 않습니다.


notebooks/에 있는 파일 실행시 suncapturer에서 임포트하는 모듈들은 suncapturer/ 폴더에서 확인하실 수 있습니다. setuptools 모듈의 setup을 사용해서 패키징 하지 않았기 때문에 sys.path.append를 통해 suncapturer/ 폴더의 위치를 추가해줘야 합니다.


문의

코드 사용에 어려움이나 질문이 있으실 경우 [email protected]으로 문의해주시면 친절히 답변드리겠습니다.
데이터 제공 문의는 대회 주관사인 POSTECH 오픈이노베이션 빅데이터 센터 (OIBC)로 문의 주시면 감사드리겠습니다.

2022_oibc_competition's People

Contributors

hiddenbeginner avatar

Stargazers

 avatar

Watchers

 avatar  avatar

2022_oibc_competition's Issues

Wow

such a great results!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.