CodeContests는 기계 학습 모델을 위한 프로그래밍 데이터셋으로, Codeforces, AtCoder 등 여러 유명 코딩 대회 플랫폼의 문제와 해결 코드를 포함하고 있습니다. 이 오픈소스 데이터는 AI 코드 생성 및 머신러닝 경쟁 연구에 유용합니다.
5분 만에 시작하기
저장소를 복제합니다:
git clone https://gitcode.com/gh_mirrors/co/code_contests
Bazel 빌드 도구를 설치한 후 환경을 확인합니다:
bazel build -c opt :print_names_and_sources
데이터셋 다운로드 및 구성
전체 데이터셋(약 3GiB)을 내려받습니다:
gsutil -m cp -r gs://dm-code_contests /tmp
데이터는 Riegeli 형식으로 저장되며, 세 가지 분할로 제공됩니다:
- 훈련 세트:
code_contests_train.riegeli-*-of-00128 - 검증 세트:
code_contests_valid.riegeli - 테스트 세트:
code_contests_test.riegeli
핵심 기능 살펴보기
데이터 탐색
다음 명령어로 문제 목록을 빠르게 확인할 수 있습니다:
bazel run -c opt \
:print_names_and_sources /tmp/dm-code_contests/code_contests_valid.riegeli
이 스크립트는 각 문제의 출처와 이름을 출력하여 데이터 분포를 파악하는 데 도움을 줍니다.
코드 실행 및 평가
솔루션의 정확성을 테스트하는 실행 환경을 제공합니다:
bazel run -c opt execution:solve_example -- \
--valid_path=/tmp/dm-code_contests/code_contests_valid.riegeli
실제 적용 사례
AI 프로그래밍 훈련
CodeContests 데이터셋을 사용해 복잡한 코딩 문제를 해결하는 AI 모델을 학습시킬 수 있습니다. 올바른 코드와 오류가 포함된 코드가 모두 포함되어 있어, 모델이 버그를 식별하고 수정하는 능력을 기를 수 있습니다.
대회 프로그래밍 연구
Codeforces, AtCoder 등 플랫폼의 문제를 분석하여 난이도별 전략과 알고리즘 적용을 연구합니다.
코드 품질 평가
테스트 케이스와 솔루션을 활용해 자동화된 코드 리뷰 도구를 개발하고, 코드 품질을 향상시킬 수 있습니다.
고급 사용 방법
Python 버전 설정
기본 Python 3.9 및 2.7 대신 다른 버전을 사용하려면:
bazel run -c opt execution:solve_example -- \
--valid_path=/tmp/dm-code_contests/code_contests_valid.riegeli \
--python3_path=/usr/bin/python3.10 --python3_library_paths=/usr/lib/python3.10
데이터 일관성
데이터셋 내 솔루션은 컴파일러 버전 및 라이브러리 차이로 인해 원래 대회 환경과 완전히 동일하게 실행되지 않을 수 있습니다.
문제 해결 팁
빌드 오류가 발생하면 캐시를 정리하세요:
bazel clean --expunge
rm -rf ~/.cache/bazel
지원 플랫폼
이 프로젝트는 주로 Linux와 clang 컴파일러를 지원합니다. macOS나 Windows 사용자는 환경 설정에 추가 작업이 필요할 수 있습니다.
인용 및 라이선스
이 데이터셋을 사용할 경우 관련 논문을 인용해 주세요. 프로젝트는 Apache 2.0 라이선스를 따르며, 비코드 자료는 CC BY 4.0에 따라 사용 가능합니다.