【问题标题】:How to run GitHub code in a Jupyter Notebook?如何在 Jupyter Notebook 中运行 GitHub 代码?
【发布时间】:2020-10-23 01:19:31
【问题描述】:

我尝试在自己的电脑上运行这段代码:https://github.com/yicheng-w/CommonSenseMultiHopQA

我已经下载了 zip 文件,但我不知道如何在 Jupyter 笔记本中运行此代码。这是我第一次想从 Github 运行代码。我找不到任何完整的指南。

我在 Windows 上安装了 Python 3.6。

【问题讨论】:

  • 您只能在 jupyter notebook 中使用 .ipynb 文件。尝试按照给出的说明在终端/cmd中运行代码
  • 我怎样才能找到这些说明?你能给我一个链接到这些说明吗?

标签: python github jupyter-notebook


【解决方案1】:

按照说明,我提到了该 GitHub 存储库的 README.md 文件中所写的内容。看,这个 repo 中的文件是 .py 文件而不是 .ipynb 文件。运行它们的正确方法是,如果您在 Windows 机器上,则在命令提示符下运行它们;如果您在 Linux/Mac 上,则在终端中运行它们。

  • 第 0 步:

    Clone the repo

    克隆您已链接的存储库,即CommonSenseMultiHopQA。要克隆 repo,您​​必须在系统上安装 git。如果您没有,请从here 获取。在 Github 上工作时,有必要知道如何使用 git。如果没有,请关注this tutorial

  • 第 1 步:

    首先,要设置目录结构,请运行 setup.sh 创建相应的目录。

    .sh 文件是包含 bash 脚本的 bash 文件。使用命令./setup.sh 运行这些。这是运行它们的tutorial。运行此命令将自动创建必要的目录(文件夹结构)。

  • 第 2 步:

    cd raw_data
    git clone https://github.com/deepmind/narrativeqa.git
    

    第一个命令将您的目录更改为raw_data。这些 Linux 命令(cd 在 Windows 中也可用)您可以了解它们 here。第二个命令将narrativeqa 克隆到raw_data 文件夹中。

  • 第 3 步:

    对于这一步,您必须知道如何从 cmd/终端运行 .py 文件。 Watch this video for that.

    我们需要使用提取的常识来构建处理过的数据集 信息。对于 NarrativeQA,我们运行:

    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
    

    为了为 WikiHop 构建提取常识的处理数据集,我们 运行:

    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
    

    两个长命令都在 src 文件夹中运行 config.py 文件。 --something 是传递给 python <filename> 命令的参数。第一个:

    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
    

    为narrativeqa 和第二个提取常识:

    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
    

    为 WikiHop 提取常识...

  • 最后,以下命令用于训练和评估:

    培训

    要为 NarrativeQA 训练模型,请运行:

    python src/config.py \
        --version {commonsense_nqa, baseline_nqa} \
        --model_name <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
    

    要为 WikiHop 训练模型,请运行:

    python src/config.py \
        --version {commonsense_wh, baseline_wh} \
        --model_name <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
    

    评估

    要评估 NarrativeQA,我们需要首先生成官方答案 测试集。为此,请运行:

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

或者,如果您真的想在jupyter notebook 中运行这些命令,那么您只需在所有这些命令之前添加一个! 并运行它们不同的单元格。

【讨论】:

  • 非常感谢,这似乎是我在互联网上找不到的完整而直接的指南。谢谢分享
【解决方案2】:

当您在 Jupyter 笔记本的任何单元格中使用 ('!') 时,它充当的命令比终端更简洁 这里是一个示例示例 Example How to clone git file in Jupyter Notebook。

! git clone https://github.com/yicheng-w/CommonSenseMultiHopQA.git

在 Cell 中写入 Upper Command 后,您需要运行 cell 来执行命令,并且您的 Git Repo 已成功克隆到您的 notebook。

【讨论】:

  • 你能解释一下这个命令会发生什么吗?就像下载它们一样?或运行它们?对不起,如果我的问题是基本的
  • Hello @A,mh, git clone 将 repo 克隆到您的计算机上。相当于下载了。这不会运行代码。
  • 你可以在Jupyter notebook中运行所有的终端命令上面的只是在Juyper notebook中运行终端命令的一个例子。
猜你喜欢
  • 2022-01-11
  • 2017-02-24
  • 1970-01-01
  • 2021-05-28
  • 1970-01-01
  • 1970-01-01
  • 2019-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多