{"action":"created","comment":{"url":"https://api.github.com/repos/espnet/espnet/pulls/comments/209419771","pull_request_review_id":145439764,"id":209419771,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwOTQxOTc3MQ==","diff_hunk":"@@ -0,0 +1,292 @@\n+#!/bin/bash\n+\n+# Copyright 2018 Kyoto University (Hirofumi Inaguma)\n+#  Apache 2.0  (http://www.apache.org/licenses/LICENSE-2.0)\n+\n+. ./path.sh\n+. ./cmd.sh\n+\n+# general configuration\n+backend=pytorch\n+stage=0       # start from -1 if you need to start from data download\n+gpu=            # will be deprecated, please use ngpu\n+ngpu=0          # number of gpus (\"0\" uses cpu, otherwise use gpu)\n+debugmode=1\n+dumpdir=dump   # directory to dump full features\n+N=0            # number of minibatches to be used (mainly for debugging). \"0\" uses all minibatches.\n+verbose=0      # verbose option\n+resume=        # Resume the training from snapshot\n+\n+# feature configuration\n+do_delta=false # true when using CNN\n+\n+# network archtecture\n+# encoder related\n+etype=blstmp     # encoder architecture type\n+elayers=6\n+eunits=320\n+eprojs=320\n+subsample=1_2_2_1_1 # skip every n frame from input to nth layers\n+# decoder related\n+dlayers=1\n+dunits=300\n+# attention related\n+atype=location\n+aconv_chans=10\n+aconv_filts=100\n+\n+# hybrid CTC/attention\n+mtlalpha=0.5\n+\n+# minibatch related\n+batchsize=50\n+maxlen_in=800  # if input length  > maxlen_in, batchsize is automatically reduced\n+maxlen_out=150 # if output length > maxlen_out, batchsize is automatically reduced\n+\n+# optimization related\n+opt=adadelta\n+epochs=15\n+\n+# rnnlm related\n+lm_weight=0.3\n+\n+# decoding parameter\n+beam_size=20\n+penalty=0.0\n+maxlenratio=0.0\n+minlenratio=0.0\n+ctc_weight=0.3\n+recog_model=acc.best # set a model to be used for decoding: 'acc.best' or 'loss.best'\n+\n+# Set this to somewhere where you want to put your data, or where\n+# someone else has already put it.  You'll want to change this\n+# if you're not on the CLSP grid.\n+datadir=/export/corpora4/IWSLT/iwslt-corpus\n+\n+# exp tag\n+tag=\"\" # tag for managing experiments.\n+\n+. utils/parse_options.sh || exit 1;\n+\n+. ./path.sh\n+. ./cmd.sh\n+\n+# check gpu option usage\n+if [ ! -z $gpu ]; then\n+    echo \"WARNING: --gpu option will be deprecated.\"\n+    echo \"WARNING: please use --ngpu option.\"\n+    if [ $gpu -eq -1 ]; then\n+        ngpu=0\n+    else\n+        ngpu=1\n+    fi\n+fi\n+\n+# Set bash to 'debug' mode, it will exit on :\n+# -e 'error', -u 'undefined variable', -o ... 'error in pipeline', -x 'print commands',\n+set -e\n+set -u\n+set -o pipefail\n+\n+train_set=train_de\n+train_dev=dev2010_de\n+recog_set=\"offlimit2018_de tst2010_de tst2011_de tst2012_de tst2013_de tst2014_de tst2015_de\"\n+\n+\n+# if [ ${stage} -le -1 ]; then\n+#     echo \"stage -1: Data Download\"\n+#       local/download_and_untar.sh ${datadir} ${data_url} ${part}\n+# fi\n+\n+if [ ${stage} -le 0 ]; then\n+    ### Task dependent. You have to make data the following preparation part by yourself.\n+    ### But you can utilize Kaldi recipes in most cases\n+    echo \"stage 0: Data preparation\"\n+    for part in train dev2010 offlimit2018 tst2010 tst2011 tst2012 tst2013 tst2014 tst2015; do\n+        local/data_prep.sh ${datadir} data/local/${part}\n+    done\n+fi\n+\n+feat_tr_dir=${dumpdir}/${train_set}/delta${do_delta}; mkdir -p ${feat_tr_dir}\n+feat_dt_dir=${dumpdir}/${train_dev}/delta${do_delta}; mkdir -p ${feat_dt_dir}\n+if [ ${stage} -le 1 ]; then\n+    ### Task dependent. You have to design training and dev sets by yourself.\n+    ### But you can utilize Kaldi recipes in most cases\n+    echo \"stage 1: Feature Generation\"\n+    fbankdir=fbank\n+    # Generate the fbank features; by default 80-dimensional fbanks with pitch on each frame\n+    for x in train dev2010 offlimit2018 tst2010 tst2011 tst2012 tst2013 tst2014 tst2015; do\n+        steps/make_fbank_pitch.sh --cmd \"$train_cmd\" --nj 32 data/${x}_de exp/make_fbank/${x} ${fbankdir}\n+    done\n+\n+    # remove utt having more than 3000 frames\n+    # remove utt having more than 400 characters\n+    remove_longshortdata.sh --maxframes 3000 --maxchars 400 data/${train_set} data/${train_set}_trim\n+    remove_longshortdata.sh --maxframes 3000 --maxchars 400 data/${train_dev} data/${train_dev}_trim\n+\n+    # compute global CMVN\n+    compute-cmvn-stats scp:data/${train_set}_trim/feats.scp data/${train_set}_trim/cmvn.ark\n+\n+    # dump features for training\n+    if [[ $(hostname -f) == *.clsp.jhu.edu ]] && [ ! -d ${feat_tr_dir}/storage ]; then\n+      utils/create_split_dir.pl \\\n+          /export/b{14,15,16,17}/${USER}/espnet-data/egs/iwslt18st/asr1/dump/${train_set}/delta${do_delta}/storage \\\n+          ${feat_tr_dir}/storage\n+    fi\n+    if [[ $(hostname -f) == *.clsp.jhu.edu ]] && [ ! -d ${feat_dt_dir}/storage ]; then\n+      utils/create_split_dir.pl \\\n+          /export/b{14,15,16,17}/${USER}/espnet-data/egs/iwslt18st/asr1/dump/${train_dev}/delta${do_delta}/storage \\\n+          ${feat_dt_dir}/storage\n+    fi\n+    dump.sh --cmd \"$train_cmd\" --nj 80 --do_delta $do_delta \\\n+        data/${train_set}_trim/feats.scp data/${train_set}_trim/cmvn.ark exp/dump_feats/${train_set} ${feat_tr_dir}\n+    dump.sh --cmd \"$train_cmd\" --nj 32 --do_delta $do_delta \\\n+        data/${train_dev}_trim/feats.scp data/${train_set}_trim/cmvn.ark exp/dump_feats/${train_dev} ${feat_dt_dir}\n+    for rtask in ${recog_set}; do\n+        feat_recog_dir=${dumpdir}/${rtask}/delta${do_delta}; mkdir -p ${feat_recog_dir}\n+        dump.sh --cmd \"$train_cmd\" --nj 32 --do_delta $do_delta \\\n+            data/${rtask}/feats.scp data/${train_set}_trim/cmvn.ark exp/dump_feats/recog/${rtask} \\\n+            ${feat_recog_dir}\n+    done\n+fi\n+\n+# De\n+dict=data/lang_1char/${train_set}_char_units_de.txt\n+echo \"dictionary (Germany, character): ${dict}\"\n+if [ ${stage} -le 2 ]; then\n+    ### Task dependent. You have to check non-linguistic symbols used in the corpus.\n+    echo \"stage 2: Dictionary and Json Data Preparation\"\n+    mkdir -p data/lang_1char/\n+    # De, char\n+    echo \"<unk> 1\" > ${dict} # <unk> must be 1, 0 will be used for \"blank\" in CTC\n+    text2token.py -s 1 -n 1 data/${train_set}_trim/text | cut -f 2- -d\" \" | tr \" \" \"\\n\" \\\n+    | sort | uniq | grep -v -e '^\\s*$' | awk '{print $0 \" \" NR+1}' >> ${dict}\n+    wc -l ${dict}\n+\n+    # make json labels\n+    data2json.sh --feat ${feat_tr_dir}/feats.scp \\\n+         data/${train_set}_trim ${dict} > ${feat_tr_dir}/data.json\n+    data2json.sh --feat ${feat_dt_dir}/feats.scp \\\n+         data/${train_dev}_trim ${dict} > ${feat_dt_dir}/data.json\n+    for rtask in ${recog_set}; do\n+        feat_recog_dir=${dumpdir}/${rtask}/delta${do_delta}\n+        data2json.sh --feat ${feat_recog_dir}/feats.scp \\\n+        data/${rtask} ${dict} > ${feat_recog_dir}/data.json\n+    done\n+fi\n+\n+# You can skip this and remove --rnnlm option in the recognition (stage 3)\n+lmexpdir=exp/train_rnnlm_2layer_bs256_de\n+mkdir -p ${lmexpdir}\n+if [ ${stage} -le 3 ]; then\n+    echo \"stage 3: LM Preparation\"\n+    lmdatadir=data/local/lm_train\n+    mkdir -p ${lmdatadir}\n+    text2token.py -s 1 -n 1 data/${train_set}_trim/text | cut -f 2- -d\" \" | perl -pe 's/\\n/ <eos> /g' \\\n+        > ${lmdatadir}/train.txt\n+    text2token.py -s 1 -n 1 data/${train_dev}_trim/text | cut -f 2- -d\" \" | perl -pe 's/\\n/ <eos> /g' \\\n+        > ${lmdatadir}/valid.txt\n+    # use only 1 gpu\n+    if [ ${ngpu} -gt 1 ]; then\n+        echo \"LM training does not support multi-gpu. signle gpu will be used.\"\n+    fi\n+    ${cuda_cmd} ${lmexpdir}/train.log \\\n+        lm_train.py \\\n+        --ngpu ${ngpu} \\\n+        --backend ${backend} \\\n+        --verbose 1 \\\n+        --outdir ${lmexpdir} \\\n+        --train-label ${lmdatadir}/train.txt \\\n+        --valid-label ${lmdatadir}/valid.txt \\\n+        --epoch 60 \\\n+        --batchsize 256 \\\n+        --dict ${dict_en_char}\n+fi\n+\n+if [ -z ${tag} ]; then\n+    expdir=exp/${train_set}_${etype}_e${elayers}_subsample${subsample}_unit${eunits}_proj${eprojs}_d${dlayers}_unit${dunits}_${atype}_aconvc${aconv_chans}_aconvf${aconv_filts}_mtlalpha${mtlalpha}_${opt}_bs${batchsize}_mli${maxlen_in}_mlo${maxlen_out}\n+    if ${do_delta}; then\n+        expdir=${expdir}_delta\n+    fi\n+else\n+    expdir=exp/${train_set}_${tag}\n+fi\n+mkdir -p ${expdir}\n+\n+if [ ${stage} -le 4 ]; then\n+    echo \"stage 4: Network Training\"\n+    ${cuda_cmd} --gpu ${ngpu} ${expdir}/train.log \\\n+        asr_train.py \\\n+        --ngpu ${ngpu} \\\n+        --backend ${backend} \\\n+        --outdir ${expdir}/results \\\n+        --debugmode ${debugmode} \\\n+        --dict ${dict} \\\n+        --debugdir ${expdir} \\\n+        --minibatches ${N} \\\n+        --verbose ${verbose} \\\n+        --resume ${resume} \\\n+        --train-json ${feat_tr_dir}/data.json \\\n+        --valid-json ${feat_dt_dir}/data.json \\\n+        --etype ${etype} \\\n+        --elayers ${elayers} \\\n+        --eunits ${eunits} \\\n+        --eprojs ${eprojs} \\\n+        --subsample ${subsample} \\\n+        --dlayers ${dlayers} \\\n+        --dunits ${dunits} \\\n+        --atype ${atype} \\\n+        --aconv-chans ${aconv_chans} \\\n+        --aconv-filts ${aconv_filts} \\\n+        --mtlalpha ${mtlalpha} \\\n+        --batch-size ${batchsize} \\\n+        --maxlen-in ${maxlen_in} \\\n+        --maxlen-out ${maxlen_out} \\\n+        --opt ${opt} \\\n+        --epochs ${epochs}\n+fi\n+\n+if [ ${stage} -le 5 ]; then\n+    echo \"stage 5: Decoding\"\n+    nj=32\n+\n+    for rtask in ${recog_set}; do\n+    (\n+        decode_dir=decode_${rtask}_beam${beam_size}_e${recog_model}_p${penalty}_len${minlenratio}-${maxlenratio}_ctcw${ctc_weight}_rnnlm${lm_weight}\n+        mkdir -p ${expdir}/${decode_dir}\n+        feat_recog_dir=${dumpdir}/${rtask}/delta${do_delta}\n+\n+        # split data\n+        data=data/${rtask}\n+        split_data.sh --per-utt ${data} ${nj};\n+        sdata=${data}/split${nj}utt;\n+\n+        #### use CPU for decoding\n+        ngpu=0\n+\n+        ${decode_cmd} JOB=1:${nj} ${expdir}/${decode_dir}/log/decode.JOB.log \\\n+            asr_recog.py \\\n+            --ngpu ${ngpu} \\\n+            --backend ${backend} \\\n+            --recog-json ${feat_recog_dir}/split${nj}utt/data.JOB.json \\\n+            --result-label ${expdir}/${decode_dir}/data.JOB.json \\\n+            --model ${expdir}/results/model.${recog_model}  \\\n+            --model-conf ${expdir}/results/model.conf  \\","path":"egs/iwslt18st/st1/run.sh","position":274,"original_position":274,"commit_id":"6fb2018f92eaca76a03383f745070447aa5f9ba5","original_commit_id":"6fb2018f92eaca76a03383f745070447aa5f9ba5","user":{"login":"sw005320","id":11741550,"node_id":"MDQ6VXNlcjExNzQxNTUw","avatar_url":"https://avatars0.githubusercontent.com/u/11741550?v=4","gravatar_id":"","url":"https://api.github.com/users/sw005320","html_url":"https://github.com/sw005320","followers_url":"https://api.github.com/users/sw005320/followers","following_url":"https://api.github.com/users/sw005320/following{/other_user}","gists_url":"https://api.github.com/users/sw005320/gists{/gist_id}","starred_url":"https://api.github.com/users/sw005320/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sw005320/subscriptions","organizations_url":"https://api.github.com/users/sw005320/orgs","repos_url":"https://api.github.com/users/sw005320/repos","events_url":"https://api.github.com/users/sw005320/events{/privacy}","received_events_url":"https://api.github.com/users/sw005320/received_events","type":"User","site_admin":false},"body":"`model.conf` -> `model.json`. Follow v.0.2.0 standard recipe.","created_at":"2018-08-11T07:39:23Z","updated_at":"2018-08-11T07:39:28Z","html_url":"https://github.com/espnet/espnet/pull/325#discussion_r209419771","pull_request_url":"https://api.github.com/repos/espnet/espnet/pulls/325","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/espnet/espnet/pulls/comments/209419771"},"html":{"href":"https://github.com/espnet/espnet/pull/325#discussion_r209419771"},"pull_request":{"href":"https://api.github.com/repos/espnet/espnet/pulls/325"}}},"pull_request":{"url":"https://api.github.com/repos/espnet/espnet/pulls/325","id":206460866,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA2NDYwODY2","html_url":"https://github.com/espnet/espnet/pull/325","diff_url":"https://github.com/espnet/espnet/pull/325.diff","patch_url":"https://github.com/espnet/espnet/pull/325.patch","issue_url":"https://api.github.com/repos/espnet/espnet/issues/325","number":325,"state":"open","locked":false,"title":"[WIP] IWSLT2018 speech translation recipe","user":{"login":"hirofumi0810","id":17924227,"node_id":"MDQ6VXNlcjE3OTI0MjI3","avatar_url":"https://avatars0.githubusercontent.com/u/17924227?v=4","gravatar_id":"","url":"https://api.github.com/users/hirofumi0810","html_url":"https://github.com/hirofumi0810","followers_url":"https://api.github.com/users/hirofumi0810/followers","following_url":"https://api.github.com/users/hirofumi0810/following{/other_user}","gists_url":"https://api.github.com/users/hirofumi0810/gists{/gist_id}","starred_url":"https://api.github.com/users/hirofumi0810/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hirofumi0810/subscriptions","organizations_url":"https://api.github.com/users/hirofumi0810/orgs","repos_url":"https://api.github.com/users/hirofumi0810/repos","events_url":"https://api.github.com/users/hirofumi0810/events{/privacy}","received_events_url":"https://api.github.com/users/hirofumi0810/received_events","type":"User","site_admin":false},"body":"### TODO\r\n- [x] stage:0 Preprocessing\r\n- [x] stage:1 Feature extraction\r\n- [ ] stage:2 dictionary & json\r\n- [x] ASR training\r\n- [ ] ASR decoding\r\n- [ ] Speech translation training\r\n- [ ] Speech translation decoding\r\n- [ ] MT training\r\n- [ ] MT decoding\r\n- [ ] ASR + MT cascading decoding","created_at":"2018-08-06T17:04:29Z","updated_at":"2018-08-11T07:39:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"664e6fb76b61b38089a6d013773fde7ee0107323","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/espnet/espnet/pulls/325/commits","review_comments_url":"https://api.github.com/repos/espnet/espnet/pulls/325/comments","review_comment_url":"https://api.github.com/repos/espnet/espnet/pulls/comments{/number}","comments_url":"https://api.github.com/repos/espnet/espnet/issues/325/comments","statuses_url":"https://api.github.com/repos/espnet/espnet/statuses/6fb2018f92eaca76a03383f745070447aa5f9ba5","head":{"label":"hirofumi0810:iwslt18st_baseline","ref":"iwslt18st_baseline","sha":"6fb2018f92eaca76a03383f745070447aa5f9ba5","user":{"login":"hirofumi0810","id":17924227,"node_id":"MDQ6VXNlcjE3OTI0MjI3","avatar_url":"https://avatars0.githubusercontent.com/u/17924227?v=4","gravatar_id":"","url":"https://api.github.com/users/hirofumi0810","html_url":"https://github.com/hirofumi0810","followers_url":"https://api.github.com/users/hirofumi0810/followers","following_url":"https://api.github.com/users/hirofumi0810/following{/other_user}","gists_url":"https://api.github.com/users/hirofumi0810/gists{/gist_id}","starred_url":"https://api.github.com/users/hirofumi0810/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hirofumi0810/subscriptions","organizations_url":"https://api.github.com/users/hirofumi0810/orgs","repos_url":"https://api.github.com/users/hirofumi0810/repos","events_url":"https://api.github.com/users/hirofumi0810/events{/privacy}","received_events_url":"https://api.github.com/users/hirofumi0810/received_events","type":"User","site_admin":false},"repo":{"id":120250240,"node_id":"MDEwOlJlcG9zaXRvcnkxMjAyNTAyNDA=","name":"espnet","full_name":"hirofumi0810/espnet","owner":{"login":"hirofumi0810","id":17924227,"node_id":"MDQ6VXNlcjE3OTI0MjI3","avatar_url":"https://avatars0.githubusercontent.com/u/17924227?v=4","gravatar_id":"","url":"https://api.github.com/users/hirofumi0810","html_url":"https://github.com/hirofumi0810","followers_url":"https://api.github.com/users/hirofumi0810/followers","following_url":"https://api.github.com/users/hirofumi0810/following{/other_user}","gists_url":"https://api.github.com/users/hirofumi0810/gists{/gist_id}","starred_url":"https://api.github.com/users/hirofumi0810/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hirofumi0810/subscriptions","organizations_url":"https://api.github.com/users/hirofumi0810/orgs","repos_url":"https://api.github.com/users/hirofumi0810/repos","events_url":"https://api.github.com/users/hirofumi0810/events{/privacy}","received_events_url":"https://api.github.com/users/hirofumi0810/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hirofumi0810/espnet","description":"End-to-End Speech Processing Toolkit","fork":true,"url":"https://api.github.com/repos/hirofumi0810/espnet","forks_url":"https://api.github.com/repos/hirofumi0810/espnet/forks","keys_url":"https://api.github.com/repos/hirofumi0810/espnet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hirofumi0810/espnet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hirofumi0810/espnet/teams","hooks_url":"https://api.github.com/repos/hirofumi0810/espnet/hooks","issue_events_url":"https://api.github.com/repos/hirofumi0810/espnet/issues/events{/number}","events_url":"https://api.github.com/repos/hirofumi0810/espnet/events","assignees_url":"https://api.github.com/repos/hirofumi0810/espnet/assignees{/user}","branches_url":"https://api.github.com/repos/hirofumi0810/espnet/branches{/branch}","tags_url":"https://api.github.com/repos/hirofumi0810/espnet/tags","blobs_url":"https://api.github.com/repos/hirofumi0810/espnet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hirofumi0810/espnet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hirofumi0810/espnet/git/refs{/sha}","trees_url":"https://api.github.com/repos/hirofumi0810/espnet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hirofumi0810/espnet/statuses/{sha}","languages_url":"https://api.github.com/repos/hirofumi0810/espnet/languages","stargazers_url":"https://api.github.com/repos/hirofumi0810/espnet/stargazers","contributors_url":"https://api.github.com/repos/hirofumi0810/espnet/contributors","subscribers_url":"https://api.github.com/repos/hirofumi0810/espnet/subscribers","subscription_url":"https://api.github.com/repos/hirofumi0810/espnet/subscription","commits_url":"https://api.github.com/repos/hirofumi0810/espnet/commits{/sha}","git_commits_url":"https://api.github.com/repos/hirofumi0810/espnet/git/commits{/sha}","comments_url":"https://api.github.com/repos/hirofumi0810/espnet/comments{/number}","issue_comment_url":"https://api.github.com/repos/hirofumi0810/espnet/issues/comments{/number}","contents_url":"https://api.github.com/repos/hirofumi0810/espnet/contents/{+path}","compare_url":"https://api.github.com/repos/hirofumi0810/espnet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hirofumi0810/espnet/merges","archive_url":"https://api.github.com/repos/hirofumi0810/espnet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hirofumi0810/espnet/downloads","issues_url":"https://api.github.com/repos/hirofumi0810/espnet/issues{/number}","pulls_url":"https://api.github.com/repos/hirofumi0810/espnet/pulls{/number}","milestones_url":"https://api.github.com/repos/hirofumi0810/espnet/milestones{/number}","notifications_url":"https://api.github.com/repos/hirofumi0810/espnet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hirofumi0810/espnet/labels{/name}","releases_url":"https://api.github.com/repos/hirofumi0810/espnet/releases{/id}","deployments_url":"https://api.github.com/repos/hirofumi0810/espnet/deployments","created_at":"2018-02-05T03:30:07Z","updated_at":"2018-08-06T23:07:05Z","pushed_at":"2018-08-11T03:08:55Z","git_url":"git://github.com/hirofumi0810/espnet.git","ssh_url":"git@github.com:hirofumi0810/espnet.git","clone_url":"https://github.com/hirofumi0810/espnet.git","svn_url":"https://github.com/hirofumi0810/espnet","homepage":"https://espnet.github.io/espnet/","size":2927,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"espnet:master","ref":"master","sha":"33f9727cb070019e82186833614e0addb1f3e0d0","user":{"login":"espnet","id":34493687,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NDkzNjg3","avatar_url":"https://avatars3.githubusercontent.com/u/34493687?v=4","gravatar_id":"","url":"https://api.github.com/users/espnet","html_url":"https://github.com/espnet","followers_url":"https://api.github.com/users/espnet/followers","following_url":"https://api.github.com/users/espnet/following{/other_user}","gists_url":"https://api.github.com/users/espnet/gists{/gist_id}","starred_url":"https://api.github.com/users/espnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/espnet/subscriptions","organizations_url":"https://api.github.com/users/espnet/orgs","repos_url":"https://api.github.com/users/espnet/repos","events_url":"https://api.github.com/users/espnet/events{/privacy}","received_events_url":"https://api.github.com/users/espnet/received_events","type":"Organization","site_admin":false},"repo":{"id":114054873,"node_id":"MDEwOlJlcG9zaXRvcnkxMTQwNTQ4NzM=","name":"espnet","full_name":"espnet/espnet","owner":{"login":"espnet","id":34493687,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NDkzNjg3","avatar_url":"https://avatars3.githubusercontent.com/u/34493687?v=4","gravatar_id":"","url":"https://api.github.com/users/espnet","html_url":"https://github.com/espnet","followers_url":"https://api.github.com/users/espnet/followers","following_url":"https://api.github.com/users/espnet/following{/other_user}","gists_url":"https://api.github.com/users/espnet/gists{/gist_id}","starred_url":"https://api.github.com/users/espnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/espnet/subscriptions","organizations_url":"https://api.github.com/users/espnet/orgs","repos_url":"https://api.github.com/users/espnet/repos","events_url":"https://api.github.com/users/espnet/events{/privacy}","received_events_url":"https://api.github.com/users/espnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/espnet/espnet","description":"End-to-End Speech Processing Toolkit","fork":false,"url":"https://api.github.com/repos/espnet/espnet","forks_url":"https://api.github.com/repos/espnet/espnet/forks","keys_url":"https://api.github.com/repos/espnet/espnet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/espnet/espnet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/espnet/espnet/teams","hooks_url":"https://api.github.com/repos/espnet/espnet/hooks","issue_events_url":"https://api.github.com/repos/espnet/espnet/issues/events{/number}","events_url":"https://api.github.com/repos/espnet/espnet/events","assignees_url":"https://api.github.com/repos/espnet/espnet/assignees{/user}","branches_url":"https://api.github.com/repos/espnet/espnet/branches{/branch}","tags_url":"https://api.github.com/repos/espnet/espnet/tags","blobs_url":"https://api.github.com/repos/espnet/espnet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/espnet/espnet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/espnet/espnet/git/refs{/sha}","trees_url":"https://api.github.com/repos/espnet/espnet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/espnet/espnet/statuses/{sha}","languages_url":"https://api.github.com/repos/espnet/espnet/languages","stargazers_url":"https://api.github.com/repos/espnet/espnet/stargazers","contributors_url":"https://api.github.com/repos/espnet/espnet/contributors","subscribers_url":"https://api.github.com/repos/espnet/espnet/subscribers","subscription_url":"https://api.github.com/repos/espnet/espnet/subscription","commits_url":"https://api.github.com/repos/espnet/espnet/commits{/sha}","git_commits_url":"https://api.github.com/repos/espnet/espnet/git/commits{/sha}","comments_url":"https://api.github.com/repos/espnet/espnet/comments{/number}","issue_comment_url":"https://api.github.com/repos/espnet/espnet/issues/comments{/number}","contents_url":"https://api.github.com/repos/espnet/espnet/contents/{+path}","compare_url":"https://api.github.com/repos/espnet/espnet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/espnet/espnet/merges","archive_url":"https://api.github.com/repos/espnet/espnet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/espnet/espnet/downloads","issues_url":"https://api.github.com/repos/espnet/espnet/issues{/number}","pulls_url":"https://api.github.com/repos/espnet/espnet/pulls{/number}","milestones_url":"https://api.github.com/repos/espnet/espnet/milestones{/number}","notifications_url":"https://api.github.com/repos/espnet/espnet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/espnet/espnet/labels{/name}","releases_url":"https://api.github.com/repos/espnet/espnet/releases{/id}","deployments_url":"https://api.github.com/repos/espnet/espnet/deployments","created_at":"2017-12-13T00:45:11Z","updated_at":"2018-08-11T04:25:21Z","pushed_at":"2018-08-11T07:28:31Z","git_url":"git://github.com/espnet/espnet.git","ssh_url":"git@github.com:espnet/espnet.git","clone_url":"https://github.com/espnet/espnet.git","svn_url":"https://github.com/espnet/espnet","homepage":"https://espnet.github.io/espnet/","size":7026,"stargazers_count":576,"watchers_count":576,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":130,"mirror_url":null,"archived":false,"open_issues_count":64,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":130,"open_issues":64,"watchers":576,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/espnet/espnet/pulls/325"},"html":{"href":"https://github.com/espnet/espnet/pull/325"},"issue":{"href":"https://api.github.com/repos/espnet/espnet/issues/325"},"comments":{"href":"https://api.github.com/repos/espnet/espnet/issues/325/comments"},"review_comments":{"href":"https://api.github.com/repos/espnet/espnet/pulls/325/comments"},"review_comment":{"href":"https://api.github.com/repos/espnet/espnet/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/espnet/espnet/pulls/325/commits"},"statuses":{"href":"https://api.github.com/repos/espnet/espnet/statuses/6fb2018f92eaca76a03383f745070447aa5f9ba5"}},"author_association":"NONE"}}
{"actor":{"display_login":"sw005320"}}