Schimbarea directorului de lucru
Folosești o bibliotecă open-source care îți permite să antrenezi rețele neuronale profunde pe datele tale. Din păcate, în timpul antrenării, această bibliotecă salvează modele de tip checkpoint (adică modele antrenate pe o parte din date) în directorul de lucru curent. Acest comportament este frustrant, deoarece nu vrei să fie nevoie să lansezi scriptul din directorul în care vor fi salvate modelele.
Decizi că o soluție ar fi să scrii un context manager care schimbă directorul de lucru curent, îți permite să construiești modelele și apoi resetează directorul de lucru la locația inițială. Vei dori să te asiguri că eventualele erori apărute în timpul antrenării modelului nu împiedică resetarea directorului de lucru la locația originală.
Acest exercițiu face parte din cursul
Scrierea funcțiilor în Python
Instrucțiuni pentru exercițiu
- Adaugă o instrucțiune care să îți permită să gestionezi orice erori ce ar putea apărea în interiorul contextului.
- Adaugă o instrucțiune care să garanteze că
os.chdir(current_dir)va fi apelat, indiferent dacă a apărut o eroare sau nu.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
def in_dir(directory):
"""Change current working directory to `directory`,
allow the user to run some code, and change back.
Args:
directory (str): The path to a directory to work in.
"""
current_dir = os.getcwd()
os.chdir(directory)
# Add code that lets you handle errors
____:
yield
# Ensure the directory is reset,
# whether there was an error or not
____:
os.chdir(current_dir)