Herberekenbare gegevens opslaan
Het korte antwoord hierop is dat dit in theorie klopt, maar in de praktijk iets minder. Voor het uitgebreide antwoord leest u verder. U komt ook te weten hoe ActivePapers u kan helpen bij zowel het wel als niet opslaan van herberekenbare gegevens.
Laten we eerst de voor de hand liggende reden voor het opslaan van herberekenbare gegevens uit de weg ruimen: de berekening kan te kostbaar zijn om herhaaldelijk uit te voeren. Dit is een klassiek geval van een afweging tussen (her)berekeningstijd en gebruik van schijfopslag. In veel gevallen is een goed compromis om de resulterende gegevens enige tijd te bewaren, zodat u snel analyses kunt uitvoeren als u een nieuw idee hebt, maar ze niet voor langdurige archivering bewaart. Vervolgens een minder voor de hand liggende reden, en bovendien een reden waaraan we niet graag worden herinnerd: de berekening is mogelijk niet zo reproduceerbaar als zou moeten.
Programma’s die licht verschillende resultaten produceren afhankelijk van het platform waarop ze worden uitgevoerd (besturingssysteem, compilatorversie, …) komen eigenlijk vrij vaak voor. Programma’s die drijvende-kommabewerkingen gebruiken, vallen bijna onvermijdelijk in deze categorie. Het wordt bijzonder erg wanneer de verschillen tussen twee uitvoeringen van het programma zo groot zijn dat de conclusies die uit de resultaten worden getrokken, veranderen.
Ja, dit gebeurt echt. Tot slot is er een zeer frequente situatie waarin het opslaan van de uitvoergegevens van een berekening niet belangrijk is, maar het opslaan van de bijbehorende metadata wel. En juist daar blinkt ActivePapers echt in uit.
Die situatie doet zich voor wanneer uw herberekenbare uitvoer eigenlijk tussentijdse gegevens zijn in uw volledige workflow. U voert bijvoorbeeld een simulatie uit die een langdurig traject oplevert, vervolgens voert u een analyse op dat traject uit, waaruit u een grafiek genereert.
De grafiek is uw eindresultaat, dus die wilt u bewaren. Het traject en de ruwe analyse zijn tussentijdse resultaten, die u niet hoeft op te slaan tenzij ze onder een van de twee hierboven uitgelegde categorieën vallen. Maar u wilt wel vastleggen dat uw grafiek is gegenereerd vanuit uw ruwe analyse, die op zijn beurt is gegenereerd vanuit het simulatietraject. Met die informatie kunnen u, en iedereen die later naar uw werk kijkt, eenvoudig verifiëren dat de grafiek daadwerkelijk overeenkomt met de nieuwste versie van uw simulatie- en analysecode.
Gerelateerd: — Projectgebaseerde datawetenschapspaden met een begeleide terminal en echte datasets.
ActivePapers biedt “dummy-datasets” om met deze situatie om te gaan. Een dummy-dataset bevat geen feitelijke gegevens, maar heeft wel alle metadata die ActivePapers genereert tijdens de uitvoering van codelets.
In de huidige staat van ActivePapers is de enige manier om zo’n dummy-dataset te genereren eerst een echte dataset te maken, vervolgens alle calclets uit te voeren die deze als invoer gebruiken, en tot slot de echte dataset te vervangen door een dummy-dataset met behulp van aptool dummy … . De tutorial noemt eveneens dummy-datasets en laat zien hoe de oorspronkelijke gegevens opnieuw kunnen worden berekend. Er is volop ruimte voor toekomstige verbeteringen van de gebruikersinterface voor dummy-datasets.
Zo zou de calclet die een dataset maakt, deze direct als dummy kunnen markeren; dan wordt deze nooit naar het bestand geschreven, maar in het geheugen doorgegeven aan client-calclets. Als u hier ideeën over hebt, open dan een issue op de Github-issue-tracker . reacties mogelijk gemaakt door Disqus
Leer Python door in uw browser te coderen
Interactieve Python- en datascience-cursussen die u rechtstreeks in de browser codeert