Randstad Artificial Intelligence Challenge (powered by VGEN). Soluzione proposta da Stefano Fiorucci (anakin87) - primo classificato

Overview

Randstad Artificial Intelligence Challenge (powered by VGEN)

Soluzione proposta da Stefano Fiorucci (anakin87) - primo classificato

Struttura directory del progetto

  • directory input:

  • directory output:

    • best_model.joblib: il migliore modello addestrato (su Windows), salvato con la libreria joblib
    • best_predictions.csv: file CSV delle predizioni del miglior modello sul test set, contenente le colonne Job_description, Label_true e Label_pred; il separatore è“;”(assente per motivi di copyright)
  • directory principale:

    • esplorazione_scelta_modello.ipynb: il notebook python che descrive il percorso di esplorazione e scelta del migliore modello machine learning
    • esplorazione_scelta_modello.html: esportazione in formato HTML del suddetto notebook
    • logo.jpg: logo della competizione
    • readme.md: questa guida
    • requirements.txt: le librerie python da installare per riprodurre l'ambiente di addestramento/predizione
    • slides.pdf: la presentazione della soluzione proposta
    • train_model_windows.py: versione Windows dello script python che consente di ripetere l'addestramento, la valutazione del modello, il salvataggio del modello e la scrittura del CSV con le predizioni
    • train_model_linux.py: versione Linux dello script python di addestramento
    • utils.py: modulo python contenente alcune funzioni necessarie per il training e la predizione
    • try_best_model.py: script python di esempio che mostra come caricare il modello salvato e usarlo per nuove predizioni

Preparazione dell'ambiente di esecuzione

Per eseguire gli script, è necessario Python>=3.6. Si consiglia di preparare l’ambiente di esecuzione mediante i seguenti passaggi:

  1. scaricamento del repository
  2. a partire dalla directory principale, creazione di un python virtual environment con il comando
    python3 -m venv venv
  3. attivazione del virtual environment
    • windows
      venv\Scripts\activate
    • linux
      source venv/bin/activate
  4. installazione delle librerie necessarie con il comando
    pip install -r requirements.txt

Esecuzione degli script

  • try_best_model è uno script python di esempio che mostra come caricare il migliore modello salvato e usarlo per nuove predizioni si lancia con la sintassi
    python try_best_model.py
  • Lo script train_model lancia l’addestramento del modello, seguito dalla stampa delle metriche valutate sul test set e può essere eseguito con la sintassi
    • Windows
      python train_model_windows.py
    • Linux
      python train_model_linux.py

      Possono essere specificati i parametri: --save-model (oppure -s), che salva il modello appena addestrato nella directory output, con un nome file indicante data e ora --get-predictions (oppure -p), che genera le predizioni sul test set in formato csv e le salva nella directory di output, con un nome file indicante data e ora

Nota

A causa di un bug noto di numpy, l'addestramento dei modelli su Windows e Linux non è completamente identico e, a parità di parametri e random state, produce modelli leggermenti diversi, con effetti sulle performance (F1).

Si è cercato il più possibile di ottenere modelli con performance vicine nei due sistemi operativi (facendo variare il random state).

Il migliore modello è stato addestrato in ambiente Windows ed è salvato come best_model.joblib. Le predizioni migliori (best_predictions.csv) sono relative a questo modello. Usando lo script fornito (train_model_windows.py), il modello può essere riaddestrato rapidamente (pochi secondi) in ambiente Windows. Anche se addestrato su Windows, può essere correttamente impiegato su Linux per la predizione.

Il modello per Linux, addestrabile con l’apposito script (train_model_linux.py), è molto simile a quello per Windows: le differenze riscontrabili a livello di performance (F1) sono inferiori a 0.001.

Attenzione: usando lo script di addestramento per Windows in ambiente Linux o viceversa, non si ottengono errori di esecuzione, ma il modello addestrato mostra delle performance qualitative (F1) inferiori a quelle attese.

Owner
Stefano Fiorucci
Machine learning engineer, Python developer
Stefano Fiorucci
Solutions of Reinforcement Learning 2nd Edition

Solutions of Reinforcement Learning, An Introduction

YIFAN WANG 1.4k Dec 30, 2022
U-Time: A Fully Convolutional Network for Time Series Segmentation

U-Time & U-Sleep Official implementation of The U-Time [1] model for general-purpose time-series segmentation. The U-Sleep [2] model for resilient hig

Mathias Perslev 176 Dec 19, 2022
bespoke tooling for offensive security's Windows Usermode Exploit Dev course (OSED)

osed-scripts bespoke tooling for offensive security's Windows Usermode Exploit Dev course (OSED) Table of Contents Standalone Scripts egghunter.py fin

epi 268 Jan 05, 2023
To prepare an image processing model to classify the type of disaster based on the image dataset

Disaster Classificiation using CNNs bunnysaini/Disaster-Classificiation Goal To prepare an image processing model to classify the type of disaster bas

Bunny Saini 1 Jan 24, 2022
Distributional Sliced-Wasserstein distance code

Distributional Sliced Wasserstein distance This is a pytorch implementation of the paper "Distributional Sliced-Wasserstein and Applications to Genera

VinAI Research 39 Jan 01, 2023
GLODISMO: Gradient-Based Learning of Discrete Structured Measurement Operators for Signal Recovery

GLODISMO: Gradient-Based Learning of Discrete Structured Measurement Operators for Signal Recovery This is the code to the paper: Gradient-Based Learn

3 Feb 15, 2022
Fast and exact ILP-based solvers for the Minimum Flow Decomposition (MFD) problem, and variants of it.

MFD-ILP Fast and exact ILP-based solvers for the Minimum Flow Decomposition (MFD) problem, and variants of it. The solvers are implemented using Pytho

Algorithmic Bioinformatics Group @ University of Helsinki 4 Oct 23, 2022
Rethinking the Importance of Implementation Tricks in Multi-Agent Reinforcement Learning

RIIT Our open-source code for RIIT: Rethinking the Importance of Implementation Tricks in Multi-AgentReinforcement Learning. We implement and standard

405 Jan 06, 2023
This repository contains the scripts for downloading and validating scripts for the documents

HC4: HLTCOE CLIR Common-Crawl Collection This repository contains the scripts for downloading and validating scripts for the documents. Document ids,

JHU Human Language Technology Center of Excellence 6 Jun 07, 2022
PyTorch/TorchScript compiler for NVIDIA GPUs using TensorRT

PyTorch/TorchScript compiler for NVIDIA GPUs using TensorRT

NVIDIA Corporation 1.8k Dec 30, 2022
[ACMMM 2021, Oral] Code release for "Elastic Tactile Simulation Towards Tactile-Visual Perception"

EIP: Elastic Interaction of Particles Code release for "Elastic Tactile Simulation Towards Tactile-Visual Perception", in ACMMM (Oral) 2021. By Yikai

Yikai Wang 37 Dec 20, 2022
Official PyTorch implementation of "Improving Face Recognition with Large AgeGaps by Learning to Distinguish Children" (BMVC 2021)

Inter-Prototype (BMVC 2021): Official Project Webpage This repository provides the official PyTorch implementation of the following paper: Improving F

Jungsoo Lee 16 Jun 30, 2022
Jittor implementation of PCT:Point Cloud Transformer

PCT: Point Cloud Transformer This is a Jittor implementation of PCT: Point Cloud Transformer.

MenghaoGuo 547 Jan 03, 2023
(CVPR 2021) Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds

BRNet Introduction This is a release of the code of our paper Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds,

86 Oct 05, 2022
This is the implementation of the paper LiST: Lite Self-training Makes Efficient Few-shot Learners.

LiST (Lite Self-Training) This is the implementation of the paper LiST: Lite Self-training Makes Efficient Few-shot Learners. LiST is short for Lite S

Microsoft 28 Dec 07, 2022
68 keypoint annotations for COFW test data

68 keypoint annotations for COFW test data This repository contains manually annotated 68 keypoints for COFW test data (original annotation of CFOW da

31 Dec 06, 2022
Hashformers is a framework for hashtag segmentation with transformers.

Hashtag segmentation is the task of automatically inserting the missing spaces between the words in a hashtag. Hashformers applies Transformer models

Ruan Chaves 41 Nov 09, 2022
TEDSummary is a speech summary corpus. It includes TED talks subtitle (Document), Title-Detail (Summary), speaker name (Meta info), MP4 URL, and utterance id

TEDSummary is a speech summary corpus. It includes TED talks subtitle (Document), Title-Detail (Summary), speaker name (Meta info), MP4 URL

3 Dec 26, 2022
Learning Energy-Based Models by Diffusion Recovery Likelihood

Learning Energy-Based Models by Diffusion Recovery Likelihood Ruiqi Gao, Yang Song, Ben Poole, Ying Nian Wu, Diederik P. Kingma Paper: https://arxiv.o

Ruiqi Gao 41 Nov 22, 2022
PGPortfolio: Policy Gradient Portfolio, the source code of "A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem"(https://arxiv.org/pdf/1706.10059.pdf).

This is the original implementation of our paper, A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem (arXiv:1706.1

Zhengyao Jiang 1.5k Dec 29, 2022