ติดตั้งแพ็คเกจ kagglehub
ด้วย pip:
pip install kagglehub
การตรวจสอบสิทธิ์จำเป็นสำหรับการเข้าถึงทรัพยากรสาธารณะที่ต้องได้รับความยินยอมจากผู้ใช้หรือทรัพยากรส่วนตัว เท่านั้น
ขั้นแรก คุณจะต้องมีบัญชี Kaggle คุณสามารถลงทะเบียนได้ที่นี่
หลังจากเข้าสู่ระบบ คุณสามารถดาวน์โหลดข้อมูลรับรอง Kaggle API ของคุณได้ที่ https://www.kaggle.com/settings โดยคลิกที่ปุ่ม "สร้างโทเค็นใหม่" ใต้ส่วน "API"
คุณมี 3 ตัวเลือกที่แตกต่างกันในการตรวจสอบสิทธิ์
สิ่งนี้จะแจ้งให้คุณป้อนชื่อผู้ใช้และโทเค็นของคุณ:
นำเข้า kagglehubkagglehub.login()
คุณยังสามารถเลือกที่จะส่งออกชื่อผู้ใช้และโทเค็น Kaggle ของคุณไปยังสภาพแวดล้อมได้:
ส่งออก KAGGLE_USERNAME=datadinosaureส่งออก KAGGLE_KEY=xxxxxxxxxxxxxx
kaggle.json
จัดเก็บไฟล์ข้อมูลรับรอง kaggle.json
ของคุณไว้ที่ ~/.kaggle/kaggle.json
หรือคุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม KAGGLE_CONFIG_DIR
เพื่อเปลี่ยนตำแหน่งนี้เป็น $KAGGLE_CONFIG_DIR/kaggle.json
หมายเหตุสำหรับผู้ใช้ Windows: ไดเร็กทอรีดีฟอลต์คือ %HOMEPATH%/kaggle.json
จัดเก็บชื่อผู้ใช้และโทเค็นคีย์ของคุณเป็นความลับของ Colab KAGGLE_USERNAME
และ KAGGLE_KEY
ดูวิธีการเพิ่มข้อมูลลับในทั้ง Colab และ Colab Enterprise ได้ในบทความนี้
ตัวอย่างต่อไปนี้ดาวน์โหลดรูป answer-equivalence-bem
ของโมเดล Kaggle นี้: https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem
นำเข้า kagglehub# ดาวน์โหลดเวอร์ชันล่าสุด.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem')# ดาวน์โหลดเวอร์ชันเฉพาะ.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem/1 ')# ดาวน์โหลดซิงเกิล file.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem', path='variables/variables.index')# ดาวน์โหลดโมเดลหรือไฟล์ แม้ว่าก่อนหน้านี้จะดาวน์โหลดไปที่ cache.kagglehub.model_download('google /bert/tensorFlow2/answer-equivalence-bem', force_download=True)
อัปโหลดรูปแบบใหม่ (หรือเวอร์ชันของรูปแบบใหม่ หากมีอยู่แล้ว)
import kagglehub# ตัวอย่างเช่น หากต้องการอัปโหลดรูปแบบใหม่ไปยังโมเดลนี้:# - https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem# # คุณจะใช้หมายเลขอ้างอิงต่อไปนี้: ` google/bert/tensorFlow2/answer-equivalence-bem`handle = '<KAGGLE_USERNAME>/<MODEL>/<FRAMEWORK>/<VARIATION>'local_model_dir = 'path/to/local/model/dir'kagglehub.model_upload(handle, local_model_dir)# คุณยังสามารถระบุบันทึกเวอร์ชันบางเวอร์ชันได้ (ไม่บังคับ)kagglehub .model_upload(handle, local_model_dir, version_notes='improvedความแม่นยำ')# คุณยังสามารถระบุใบอนุญาตได้ (เป็นทางเลือก)kagglehub.model_upload(handle, local_model_dir, License_name='Apache 2.0')# คุณยังสามารถระบุรายการรูปแบบสำหรับไฟล์/dirs ที่จะละเว้น # รูปแบบเหล่านี้จะถูกรวมเข้ากับ `kagglehub.models.DEFAULT_IGNORE_PATTERNS` # เพื่อกำหนด ไฟล์และไดเร็กทอรีใดที่จะยกเว้น # หากต้องการเพิกเฉยต่อไดเร็กทอรีทั้งหมด ให้ใส่เครื่องหมายทับ (/) ต่อท้ายใน pattern.kagglehub.model_upload(handle, local_model_dir,ละเว้น_รูปแบบ=["Original/", "*.tmp"])
ตัวอย่างต่อไปนี้ดาวน์โหลดชุดข้อมูล Spotify Recommendation
Kaggle: https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation
import kagglehub# ดาวน์โหลดเวอร์ชันล่าสุด.kagglehub.dataset_download('bricevergnou/spotify-recommendation')# ดาวน์โหลดเวอร์ชันเฉพาะ.kagglehub.dataset_download('bricevergnou/spotify-recommendation/versions/1')# ดาวน์โหลดไฟล์เดียวkagglehub.dataset_download( 'bricevergnou/spotify-แนะนำ', path='data.csv')# ดาวน์โหลดชุดข้อมูลหรือไฟล์ แม้ว่าเคยดาวน์โหลดไปที่ cache.kagglehub.dataset_download('bricevergnou/spotify-recommendation', force_download=True)
อัปโหลดชุดข้อมูลใหม่ (หรือเวอร์ชันใหม่ หากมีอยู่แล้ว)
import kagglehub# ตัวอย่างเช่น หากต้องการอัปโหลดชุดข้อมูลใหม่ (หรือเวอร์ชัน) ที่:# - https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation# # คุณจะต้องใช้ตัวจัดการต่อไปนี้: `bricevergnou/spotify- คำแนะนำ`handle = '<KAGGLE_USERNAME>/<DATASET>local_dataset_dir = 'path/to/local/dataset/dir'# สร้างชุดข้อมูลใหม่kagglehub.dataset_upload(handle, local_dataset_dir)# จากนั้นคุณสามารถสร้างเวอร์ชันใหม่ของชุดข้อมูลที่มีอยู่นี้และรวมบันทึกเวอร์ชัน (ไม่บังคับ).kagglehub.dataset_upload(handle, local_dataset_dir) , version_notes='improved data')# คุณยังสามารถระบุรายการรูปแบบสำหรับไฟล์/dirs ที่จะละเว้น # รูปแบบเหล่านี้จะรวมกับ `kagglehub.datasets.DEFAULT_IGNORE_PATTERNS` # เพื่อกำหนดไฟล์และไดเร็กทอรีที่จะยกเว้น # หากต้องการละเว้นทั้งไดเร็กทอรี ให้ใส่เครื่องหมายทับ (/) ต่อท้ายใน pattern.kagglehub.dataset_upload(handle, local_dataset_dir,ign_patterns=["Original/", "*.tmp"])
ตัวอย่างต่อไปนี้ดาวน์โหลดการแข่งขัน Digit Recognizer
Kaggle: https://www.kaggle.com/competitions/digit-recognizer
import kagglehub# ดาวน์โหลดเวอร์ชันล่าสุด kagglehub.competition_download('digit-recognizer')# ดาวน์โหลดไฟล์เดียวkagglehub.competition_download('digit-recognizer', path='train.csv')# ดาวน์โหลดการแข่งขันหรือไฟล์ แม้ว่าก่อนหน้านี้ ดาวน์โหลดไปที่แคช kagglehub.competition_download('ตัวจดจำหลัก', force_download=True)
เราใช้ฟักเพื่อจัดการโครงการนี้
ทำตามคำแนะนำเหล่านี้เพื่อติดตั้ง
# รันการทดสอบทั้งหมดสำหรับเวอร์ชัน Python ปัจจุบัน.hatch test# รันการทดสอบทั้งหมดสำหรับเวอร์ชัน Python ทั้งหมด การทดสอบแฮทช์ --all# รันการทดสอบทั้งหมดสำหรับเวอร์ชัน Python ที่ระบุ การทดสอบแฮทช์ -py 3.11# รันการทดสอบไฟล์แฮทช์ทดสอบเดี่ยว การทดสอบ/ทดสอบ_ <SOME_FILE>.py
หากต้องการรันการทดสอบการรวมระบบบนเครื่องของคุณ คุณจะต้องตั้งค่าข้อมูลประจำตัว Kaggle API คุณสามารถทำได้ด้วยวิธีใดวิธีหนึ่งจากสองวิธีที่อธิบายไว้ในส่วนก่อนหน้าของเอกสารนี้ อ้างถึงส่วนต่างๆ:
การใช้ตัวแปรสภาพแวดล้อม
การใช้ไฟล์ข้อมูลรับรอง
หลังจากตั้งค่าข้อมูลประจำตัวของคุณด้วยวิธีใดวิธีหนึ่งเหล่านี้ คุณสามารถรันการทดสอบการรวมได้ดังต่อไปนี้:
# รัน testhatch test integrated_tests ทั้งหมด
kagglehub
จากแหล่งที่มา# ดาวน์โหลดโมเดลและพิมพ์ pathhatch run python -c "import kagglehub; print('path: ', kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem'))"
# Lint checkhatch run lint:style ฟักวิ่งผ้าสำลี: การพิมพ์ ฟักวิ่งผ้าสำลี: ทั้งหมด # สำหรับทั้งสอง # ฟอร์แมตวิ่งผ้าสำลี: fmt
การทดสอบการฟักไข่ - ปก
สร้างฟัก
hatch
ภายใน Dockerสิ่งนี้มีประโยชน์ในการทำงานในสภาพแวดล้อมที่สอดคล้องกันและสลับระหว่างเวอร์ชัน Python ได้อย่างง่ายดาย
ข้อมูลต่อไปนี้แสดงวิธีการรัน hatch run lint:all
ยกเว้นคำสั่งฟักอื่น ๆ ด้วย:
# Use default Python version ./docker-hatch run lint:all # Use specific Python version (Must be a valid tag from: https://hub.docker.com/_/python) ./docker-hatch -v 3.9 run lint:all # Run test in docker with specific Python version ./docker-hatch -v 3.9 test
ติดตั้งส่วนขยายที่แนะนำ
กำหนดค่าฟักเพื่อสร้าง env เสมือนในโฟลเดอร์โครงการ
hatch config set dirs.env.virtual .env
หลังจากนั้น ให้สร้างสภาพแวดล้อมหลามทั้งหมดที่จำเป็นโดยการรัน hatch -e all run tests
สุดท้าย กำหนดค่า vscode เพื่อใช้หนึ่งในสภาพแวดล้อมที่เลือก: cmd + shift + p
-> python: Select Interpreter
-> เลือกหนึ่งในโฟลเดอร์ใน ./.env
ไลบรารี kagglehub ได้กำหนดค่าการบันทึกอัตโนมัติซึ่งจัดเก็บไว้ในโฟลเดอร์บันทึก ปลายทางบันทึกได้รับการแก้ไขผ่าน os.path.expanduser
ตารางด้านล่างประกอบด้วยตำแหน่งที่เป็นไปได้:
ระบบปฏิบัติการ | เส้นทางบันทึก |
---|---|
OSX | /user/$USERNAME/.kaggle/logs/kagglehub.log |
ลินุกซ์ | ~/.kaggle/logs/kagglehub.log |
หน้าต่าง | C:Users%USERNAME%.kagglelogskagglehub.log |
โปรดรวมบันทึกเพื่อช่วยแก้ไขปัญหา