P3enhancementgood first issue
Repository metrics
- Stars
- (1,885 stars)
- PR merge metrics
- (PR metrics pending)
Description
- CodeCarbon version: 2.2.2
- Python version: 3.11.5
- Operating System: Linux-6.2.0-35-generic-x86_64-with-glibc2.35
Description
I have implemented a method that enables the capture and storage of consumption logs (CSV format) in parallel every second during the execution of my algorithm. Nevertheless, I would be interested in exploring whether there are more efficient alternatives from a technical or academic standpoint to accomplish this process. Below, I am providing the code of my current solution for review and suggestions.
What I Did
from codecarbon import EmissionsTracker
import threading
pthread=1
def fthread():
while pthread:
tracker.flush()
time.sleep(1)
# Creates an instance of a thread and passes the function is executed.
eng_measure = threading.Thread(target=fthread)
# Training
tracker = EmissionsTracker(project_name="Test",tracking_mode="machine")
tracker.start()
eng_measure.start()
try:
# code
finally:
pthread = 0
eng_measure.join()
emissions = tracker.stop()