Een notebook converteren naar een script
Wanneer u notebooks hebt gebruikt voor experimenten en ontwikkeling, moet u eerst een notebook converteren naar een script. U kunt er ook voor kiezen om notitieblokken over te slaan en alleen met scripts te werken. Hoe dan ook, er zijn enkele aanbevelingen voor het maken van scripts voor het maken van code die gereed is voor productie.
Scripts zijn ideaal voor testen en automatisering in uw productieomgeving. Als u een script wilt maken dat gereed is voor productie, moet u het volgende doen:
- Verwijder niet-essentiële code.
- Herstructureer uw code in functies.
- Test uw script in de terminal.
Alle niet-essentiële code verwijderen
Het belangrijkste voordeel van het gebruik van notebooks is het snel verkennen van uw gegevens. U kunt bijvoorbeeld en instructies gebruiken print()
df.describe()
om uw gegevens en variabelen te verkennen. Wanneer u een script maakt dat wordt gebruikt voor automatisering, wilt u voorkomen dat code wordt geschreven voor verkennende doeleinden.
Het eerste wat u moet doen om uw code te converteren naar productiecode is het verwijderen van de niet-essentiële code. Vooral wanneer u de code regelmatig uitvoert, wilt u voorkomen dat u iets niet essentieels uitvoert om de kosten en rekentijd te verminderen.
Uw code herstructureren in functies
Wanneer u code gebruikt in bedrijfsprocessen, wilt u dat de code gemakkelijk te lezen is, zodat iedereen deze kan onderhouden. Een veelvoorkomende aanpak om code gemakkelijker te lezen en te testen is het gebruik van functies.
U hebt bijvoorbeeld de volgende voorbeeldcode in een notebook gebruikt om de gegevens te lezen en te splitsen:
# read and visualize the data
print("Reading data...")
df = pd.read_csv('diabetes.csv')
df.head()
# split data
print("Splitting data...")
X, y = df[['Pregnancies','PlasmaGlucose','DiastolicBloodPressure','TricepsThickness','SerumInsulin','BMI','DiabetesPedigree','Age']].values, df['Diabetic'].values
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=0)
Als functies kunt u ook delen van uw code testen, kunt u liever meerdere kleinere functies maken in plaats van één grote functie. Als u een deel van uw code wilt testen, kunt u ervoor kiezen om alleen een klein deel te testen en te voorkomen dat er meer code wordt uitgevoerd dan nodig is.
U kunt de code die in het voorbeeld wordt weergegeven, herstructureren in twee functies:
- De gegevens lezen
- De gegevens splitsen
Een voorbeeld van een herstructureerde code kan het volgende zijn:
def main(csv_file):
# read data
df = get_data(csv_file)
# split data
X_train, X_test, y_train, y_test = split_data(df)
# function that reads the data
def get_data(path):
df = pd.read_csv(path)
return df
# function that splits the data
def split_data(df):
X, y = df[['Pregnancies','PlasmaGlucose','DiastolicBloodPressure','TricepsThickness',
'SerumInsulin','BMI','DiabetesPedigree','Age']].values, df['Diabetic'].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=0)
return X_train, X_test, y_train, y_test
Notitie
Mogelijk hebt u gemerkt dat niet-essentiële code ook is weggelaten in de geherstructureerde code. U kunt ervoor kiezen om instructies in productiecode te gebruiken print
als u de uitvoer van het script controleert en ervoor wilt zorgen dat alle code wordt uitgevoerd zoals verwacht. Als u echter weet dat u de uitvoer van een script in een terminal niet gaat controleren, kunt u het beste alle code verwijderen die geen doel heeft.
Uw script testen
Voordat u scripts in productieomgevingen gebruikt, bijvoorbeeld door ze te integreren met automatiseringspijplijnen, moet u testen of de scripts werken zoals verwacht.
Een eenvoudige manier om uw script te testen, is het uitvoeren van het script in een terminal. In de Azure Machine Learning-werkruimte kunt u snel een script uitvoeren in de terminal van het rekenproces.
Wanneer u een script opent op de pagina Notebooks van de Azure Machine Learning-studio, kunt u ervoor kiezen om het script op te slaan en uit te voeren in de terminal.
U kunt ook rechtstreeks naar de terminal van het rekenproces navigeren. Ga naar de pagina Compute en selecteer de terminal van het rekenproces dat u wilt gebruiken. U kunt de volgende opdracht gebruiken om een Python-script met de naam train.py
uit te voeren:
python train.py
Uitvoer van print
instructies wordt weergegeven in de terminal. Eventuele mogelijke fouten worden ook weergegeven in de terminal.