get_cloud_geo_region() returns NaN instead of the city for GCP regions with no state
Maintainer thường phản hồi trong vòng 2 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 86/100
Hướng nghiên cứu
Bắt đầu với get_cloud_geo_region() trong codecarbon/core/emissions.py và kiểm tra cách xử lý giá trị state đọc từ data/cloud/impact.csv. Tái hiện lỗi với vùng GCP asia-east1, sau đó thêm một bài kiểm thử cho vùng không có state. Công việc hoàn tất khi thành phố được trả về và vùng đó không còn tạo ra NaN trong đầu ra phát thải.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
Emissions.get_cloud_geo_region() (codecarbon/core/emissions.py) falls back to city only when state is None:
state = selected["state"].item()
if state is not None:
return state
impact.csv is read with pandas, so an empty state cell is NaN, not None. The check passes and NaN is returned. 30 of the 40 GCP regions in data/cloud/impact.csv have no state (e.g. asia-east1, africa-south1), so the city is never used.
Reproduction
from codecarbon import OfflineEmissionsTracker
tracker = OfflineEmissionsTracker(cloud_provider="gcp", cloud_region="asia-east1")
tracker.start()
data = tracker._prepare_emissions_data()
tracker.stop()
print(repr(data.region)) # nan, expected 'Changhua County'
Impact
regionis empty inemissions.csvHTTPOutputfails:requestsraisesInvalidJSONError: Out of range float values are not JSON compliant: nanLoggerOutputlogs invalid JSON ("region": NaN)
Proposed fix
Check for a real string instead of None, e.g. if isinstance(state, str):, and add a test with a region that has no state. Happy to open a PR.
Proposed fix
Check for a real string instead of None, e.g. if isinstance(state, str):, and add a test with a region that has no state. Happy to open a PR.
- Ngôn ngữ chính
- Python
- Star
- 1.9k
- Fork
- 347
- Merge trung bình
- 2 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 20
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của mlco2/codecarbon
-
Unit tests on Windows: 13 failures besides the CLI ones in #1459 (one also on any machine with an NVIDIA GPU)Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
mlco2/codecarbon#1460 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
count_cpus() and RAM crash with FileNotFoundError when SLURM_JOB_ID is set but scontrol is missingĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
mlco2/codecarbon#1455 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
CLI: get_config() returns None without [codecarbon] section; get_api_endpoint() appends api_endpoint under wrong sectionCó thể đã có người làm @sohammishra864-wq đã nhận 30 ngày trước. Đang mở
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 82/100
mlco2/codecarbon#1432 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Update the screen shot of the dashboardCó thể đã có người làm @KLGani đã nhận 4 ngày trước. Đang mởdocumentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
mlco2/codecarbon#1423 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Update the bibtex citationCó thể đã có người làm @davidberenstein1957 đã nhận 78 ngày trước. Đang mởdocumentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
mlco2/codecarbon#1422 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của mlco2/codecarbon
Issue tương tự
-
Context/namespace resources fail in-cluster: "Invalid kube-config file. No configuration found."Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
bug documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
awslabs/visual-asset-management-system#880 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
netbox status: needs owner type: documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
netbox-community/netbox#23533 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
app: scripts status: backlog type: documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
netbox-community/netbox-scripts#68 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
marin-community/marin#10765 ·
Maintainer thường phản hồi trong vòng 1 ngày