• Aucun résultat trouvé

SeqTools: a python package for easy transformation, combination and evaluation of large datasets

N/A
N/A
Protected

Academic year: 2021

Partager "SeqTools: a python package for easy transformation, combination and evaluation of large datasets"

Copied!
3
0
0

Texte intégral

(1)

HAL Id: hal-02007314

https://hal.archives-ouvertes.fr/hal-02007314

Submitted on 5 Feb 2019

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

SeqTools: a python package for easy transformation,

combination and evaluation of large datasets

Nicolas Granger, Mounîm Yacoubi

To cite this version:

Nicolas Granger, Mounîm Yacoubi. SeqTools: a python package for easy transformation, combination

and evaluation of large datasets. Journal of Open Source Software, Open Journals, 2018, 3 (30),

pp.1006. �10.21105/joss.01006�. �hal-02007314�

(2)

SeqTools: A python package for easy transformation,

combination and evaluation of large datasets.

Nicolas Granger

1

and Mounîm A. El Yacoubi

1 1 Télécom SudParis DOI:10.21105/joss.01006 Software • Review • Repository • Archive Submitted: 05 October 2018 Published: 26 October 2018 License

Authors of papers retain copy-right and release the work un-der a Creative Commons Attri-bution 4.0 International License (CC-BY).

Summary

SeqTools facilitates the manipulation of large datasets and the evaluation of a transfor-mation pipeline. Some of the provided functionnalities include: mapping element-wise operations, reordering, reindexing, concatenation, joining, slicing, minibatching, etc… To improve ease of use, SeqTools assumes that dataset are objects that implement a list-like sequenceinterface: a container object with a length and its elements accessible

via indexing or slicing. All SeqTools functions take and return objects compatible with

this simple and convenient interface.

Sometimes manipulating a whole dataset with transformations or combinations can be slow and resource intensive; a transformed dataset might not even fit into memory! To circumvent this issue, SeqTools implements on-demand execution under the hood, so that computations are only run when needed, and only for actually required elements while ignoring the rest of the dataset. This helps to keep memory resources down to a bare minimum and accelerate the time it take to access any arbitrary result. This on-demand strategy helps to quickly define dataset-wide transformations and probe a few results for debugging or prototyping purposes, yet it is transparent for the users who still benefit from a simple and convenient list-like interface.

When comes the transition from prototyping to execution, the list-like container interface facilitates serial evaluation. Besides, SeqTools also provides simple helpers to dispatch work between multiple background workers (threads or processes), and therefore to max-imize execution speed and resource usage.

SeqTools originally targets data science, more precisely the preprocessing stages of a dataset. Being aware of the experimental nature of this usage, on-demand execution is made as transparent as possible to users by providing fault-tolerant functions and insightful error reporting. Moreover, internal code is kept concise and clear with comments to facilitate error tracing through a failing transformation pipeline.

Nevertheless, this project purposedly keeps a generic interface and only requires minimal dependencies in order to facilitate reusability beyond this scope of application.

Related Work

Joblib, proposes low-level functions with many optimization settings to optimize pipelined transformations. This library notably provides advanced caching mechanisms which are not the primary concern of SeqTool. SeqTool uses a simpler container-oriented interface with multiple utility functions in order to assist fast prototyping. On-demand evaluation Granger et al., (2018). SeqTools: A python package for easy transformation, combination and evaluation of large datasets.. Journal of Open

Source Software, 3(30), 1006.https://doi.org/10.21105/joss.01006

(3)

is its default behaviour and applies at all layers of a transformation pipeline. In particular, parallel evaluation can be inserted in the middle of the transformation pipeline and won’t block the execution to wait for the computation of all elements from the dataset. SeqTools is conceived to connect nicely to the data loading pipeline of Machine Learning libraries such as (Paszke et al., 2017) or (Abadi et al., 2015). The interface of these libraries focuses on iterators to access transformed elements, contary to SeqTools which also provides arbitrary reads via indexing.

References

Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G. S., et al. (2015). TensorFlow: Large-scale machine learning on heterogeneous systems. Retrieved from https://www.tensorflow.org/

Paszke, A., Gross, S., Chintala, S., Chanan, G., Yang, E., DeVito, Z., Lin, Z., et al. (2017). Automatic differentiation in pytorch. In NIPS-w.

Granger et al., (2018). SeqTools: A python package for easy transformation, combination and evaluation of large datasets.. Journal of Open

Source Software, 3(30), 1006.https://doi.org/10.21105/joss.01006

Références

Documents relatifs

Adobe conseille d’utiliser la version 8 (ou ultérieure) d’Adobe Reader ou d’Adobe Acrobat pour manipuler les documents contenus dans un lot PDF.. En effectuant une mise à niveau

The resulting transmitted light does not preserve the incident time history; the longer the plasma, the more random the speckle trajectory and the smaller the average speckle

We applied two methods for separating the Galactic emission components in the Planck data. The first one, used in the orig- inal WMAP haze analyses, is a simple regression technique

The proposed automatic video monitoring system enables the location of the observed person at each time point to be detected and recognizes all the activities done by

After adjustment for age, smoking status, – – pack-years, pack-years , energy intake, race/ethnicity, US region, body mass index and physical activity, the consumption of cured meats

De nombreux modèles ont été développés pour estimer les coefficients d’absorption et de diffusion d’une feuille de papier La théorie la plus répandue dans le domaine papetier

The three cases presented enclose three different paths in which minority communities have developed a presence on the cyberspace; for instance: (1) sites in which

Relaxation training is currently employed both in relation to systematic desensitization treatment of phobias and by itself as a direct means of dealing with tension and anxiety..