QNA > C > Come Scaricare Un Progetto Da Github E Aprirlo In Un Jupyter Notebook

Come scaricare un progetto da GitHub e aprirlo in un Jupyter Notebook

Con istruzioni intendo ciò che è scritto nel file README.md di quel repo GitHub. Vedi, i file in questo repo sono file .py e non file .ipynb. Il modo corretto per eseguirli è quello di eseguirli in un prompt dei comandi se sei su una macchina Windows o in un terminale se sei su Linux/Mac.

  • Step 0:

Clona il repo

Clona il repo che hai linkato, cioè CommonSenseMultiHopQA. Per clonare il repo devi avere git installato sul tuo sistema. Se non ce l'hai, prendilo da qui. Quando si lavora su Github è necessario sapere come usare git. Se non lo sai, segui questo tutorial.

  • Step 1:

Prima di tutto, per impostare la struttura delle directory, esegui http://setup.sh per creare le directory appropriate.

.sh sono file bash che contengono script bash. Eseguiteli usando il comando ./setup.sh. Qui c'è un tutorial su come eseguirli. Running this command will automatically create the necessary directory (folder structure).

  • Step 2:
  1. cd raw_data 
  2. git clone https://github.com/deepmind/narrativeqa.git 

The first command changes your directory to raw_data. Questi sono comandi di Linux (cd è disponibile anche in Windows) che potete imparare qui. Il secondo comando clona la narrativeqa nella cartella raw_data.

  • Step 3:

Per questo passo, devi sapere come eseguire file .py dal terminale cmd. Guarda questo video per questo.

Abbiamo bisogno di costruire set di dati elaborati con le informazioni commonsense estratte. Per NarrativeQA, eseguiamo:

python src/config.py
--mode build_dataset
--data_dir raw_data/narrativeqa
--load_commonsense
--commonsense_file data/cn_relations_orig.txt
--processed_dataset_train data/narrative_qa_train.jsonl
--processed_dataset_valid data/narrative_qa_valid.jsonl
--processed_dataset_test data/narrative_qa_test.jsonl

Per costruire set di dati elaborati con il commonsense estratto per WikiHop, eseguiamo:

python src/config.py
--mode build_wikihop_dataset
--data_dir raw_data/qangaroo_v1.1
--load_commonsense
--commonsense_file data/cn_relations_orig.txt
--processed_dataset_train data/wikihop_train.jsonl
--processed_dataset_valid data/wikihop_valid.jsonl

Entrambi i lunghi comandi stanno eseguendo il file config.py nella cartella src. I --qualcosa sono aurgumenti passati al comando python . Il primo :

python src/config.py
--mode build_dataset
--data_dir raw_data/narrativeqa
--load_commonsense
--commonsense_file data/cn_relations_orig.txt
--processed_dataset_train data/narrative_qa_train.jsonl
--processed_dataset_valid data/narrative_qa_valid.jsonl
--processed_dataset_test data/narrative_qa_test.jsonl

estrae il commonsense per narrativeqa e il secondo:

python src/config.py
--mode build_wikihop_dataset
--data_dir raw_data/qangaroo_v1.1
--load_commonsense
--commonsense_file data/cn_relations_orig.txt
--processed_dataset_train data/wikihop_train.jsonl
--processed_dataset_valid data/wikihop_valid.jsonl

estrae il commonsense per WikiHop...

  • Infine, i seguenti comandi sono per l'addestramento e la valutazione:

Addestramento

Per addestrare i modelli per NarrativeQA, esegui:

python src/config.py
--version {commonsense_nqa, baseline_nqa}
--model_name
--processed_dataset_train data/narrative_qa_train.jsonl
--processed_dataset_valid data/narrative_qa_valid.jsonl
--batch_size 24
--max_target_iterations 15
--dropout_rate 0.2

Per addestrare modelli per WikiHop, eseguire:

python src/config.py
--version {commonsense_wh, baseline_wh}
--model_name
--elmo_options_file lm_data/wh/elmo_2x4096_512_2048cnn_2xhighway_options.json
--elmo_weight_file lm_data/wh/elmo_2x4096_512_2048cnn_2xhighway_weights.hdf5
--elmo_token_embedding_file lm_data/wh/elmo_token_embeddings.hdf5
--elmo_vocab_file lm_data/wh/wikihop_vocab.txt
--processed_dataset_train data/wikihop_train.jsonl
--processed_dataset_valid data/wikihop_valid.jsonl
--multiple_choice
--max_target_iterations 4
--max_iterations 8
--batch_size 16
--max_target_iterations 4
--max_iterations 8
--max_context_iterations 1300
--dropout_rate 0.2

Evaluation

Per valutare NarrativeQA, dobbiamo prima generare risposte ufficiali sul test set. Per farlo, eseguire:

python src/config.py
--mode generate_answers
--processed_dataset_valid data/narrative_qa_valid.jsonl
--processed_dataset_test data/narrative_qa_test.jsonl

In alternativa, se vuoi davvero eseguire questi comandi in un notebook di jupyter allora tutto quello che devi fare è aggiungere un ! prima di tutti loro ed eseguirli in celle diverse.

Di Verne

Perché il logo olimpico è 5 anelli? :: Cos'è deskgram e quali sono i suoi usi?
Link utili