{"action":"created","comment":{"url":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/comments/55639543","id":55639543,"diff_hunk":"@@ -0,0 +1,224 @@\n+#!/bin/bash\n+\n+set -e \n+set -o pipefail\n+\n+# this is run_discriminative.sh\n+\n+# This script does discriminative training on top of nnet3 system.\n+# note: this relies on having a cluster that has plenty of CPUs as well as GPUs,\n+# since the lattice generation runs in about real-time, so takes of the order of\n+# 1000 hours of CPU time.\n+# \n+# Note: rather than using any features we have dumped on disk, this script\n+# regenerates them from the wav data three times-- when we do lattice\n+# generation, numerator alignment and discriminative training.  This made the\n+# script easier to write and more generic, because we don't have to know where\n+# the features and the iVectors are, but of course it's a little inefficient.\n+# The time taken is dominated by the lattice generation anyway, so this isn't\n+# a huge deal.\n+\n+. cmd.sh\n+\n+\n+stage=0\n+train_stage=-10\n+get_egs_stage=-10\n+use_gpu=true\n+srcdir=exp/nnet3/nnet_ms_a\n+criterion=smbr\n+drop_frames=false  # only matters for MMI.\n+frames_per_eg=150\n+frames_overlap_per_eg=30\n+effective_learning_rate=0.0000125\n+num_jobs_nnet=4\n+train_stage=-10 # can be used to start training in the middle.\n+decode_start_epoch=1 # can be used to avoid decoding all epochs, e.g. if we decided to run more.\n+num_epochs=4\n+degs_dir=\n+cleanup=false  # run with --cleanup true --stage 6 to clean up (remove large things like denlats,\n+               # alignments and degs).\n+lats_dir=\n+train_data_dir=data/train_si284_hires\n+online_ivector_dir=exp/nnet3/ivectors_train_si284\n+one_silence_class=true\n+truncate_deriv_weights=10\n+minibatch_size=64\n+\n+adjust_priors=true\n+\n+determinize=true\n+minimize=true\n+remove_output_symbols=true\n+remove_epsilons=true\n+collapse_transition_ids=true\n+\n+modify_learning_rates=true\n+last_layer_factor=1.0\n+\n+set -e\n+. cmd.sh\n+. ./path.sh\n+. ./utils/parse_options.sh\n+\n+\n+if $use_gpu; then\n+  if ! cuda-compiled; then\n+    cat <<EOF && exit 1 \n+This script is intended to be used with GPUs but you have not compiled Kaldi with CUDA \n+If you want to use GPUs (and have them), go to src/, and configure and make on a machine\n+where \"nvcc\" is installed.  Otherwise, call this script with --use-gpu false\n+EOF\n+  fi\n+  num_threads=1\n+else\n+  # Use 4 nnet jobs just like run_4d_gpu.sh so the results should be\n+  # almost the same, but this may be a little bit slow.\n+  num_threads=16\n+fi\n+\n+if [ ! -f ${srcdir}/final.mdl ]; then\n+  echo \"$0: expected ${srcdir}/final.mdl to exist; first run run_tdnn.sh or run_lstm.sh\"\n+  exit 1;\n+fi\n+\n+\n+if [ -z \"$lats_dir\" ]; then\n+  lats_dir=${srcdir}_denlats\n+  if [ $stage -le 1 ]; then\n+    nj=50  # this doesn't really affect anything strongly, except the num-jobs for one of\n+    # the phases of get_egs_discriminative2.sh below.\n+    num_threads_denlats=6\n+    subsplit=40 # number of jobs that run per job (but 2 run at a time, so total jobs is 80, giving\n+    # total slots = 80 * 6 = 480.\n+    steps/nnet3/make_denlats.sh --cmd \"$decode_cmd --mem 1G --num-threads $num_threads_denlats\" \\\n+      --online-ivector-dir $online_ivector_dir \\\n+      --nj $nj --sub-split $subsplit --num-threads \"$num_threads_denlats\" --config conf/decode_dnn.config \\\n+      $train_data_dir data/lang $srcdir $lats_dir || exit 1;\n+  fi\n+fi\n+\n+if [ $stage -le 2 ]; then\n+  # hardcode no-GPU for alignment, although you could use GPU [you wouldn't\n+  # get excellent GPU utilization though.]\n+  nj=100 # have a high number of jobs because this could take a while, and we might\n+         # have some stragglers.\n+  use_gpu=no\n+  gpu_opts=\n+\n+  steps/nnet3/align.sh  --cmd \"$decode_cmd $gpu_opts\" --use-gpu \"$use_gpu\" \\\n+     --online-ivector-dir $online_ivector_dir \\\n+     --nj $nj $train_data_dir data/lang $srcdir ${srcdir}_ali || exit 1;\n+\n+  # the command below is a more generic, but slower, way to do it.\n+  # steps/online/nnet2/align.sh --cmd \"$decode_cmd $gpu_opts\" --use-gpu \"$use_gpu\" \\\n+  #    --nj $nj data/train_960 data/lang ${srcdir}_online ${srcdir}_ali || exit 1;\n+fi\n+\n+left_context=14\n+right_context=10\n+\n+cmvn_opts=`cat $srcdir/cmvn_opts` || exit 1\n+\n+if [ -z \"$degs_dir\" ]; then\n+  degs_dir=${srcdir}_degs_n${frames_per_eg}_o${frames_overlap_per_eg}_f\n+  if $determinize; then\n+    degs_dir=${degs_dir}d\n+  fi\n+  if $minimize; then\n+    degs_dir=${degs_dir}m\n+  fi\n+  if $remove_output_symbols; then\n+    degs_dir=${degs_dir}r\n+  fi\n+  if $remove_epsilons; then\n+    degs_dir=${degs_dir}e\n+  fi\n+  if $collapse_transition_ids; then\n+    degs_dir=${degs_dir}c\n+  fi\n+\n+  if [ $stage -le 3 ]; then\n+    if [[ $(hostname -f) == *.clsp.jhu.edu ]] && [ ! -d ${srcdir}_degs/storage ]; then\n+      utils/create_split_dir.pl \\\n+        /export/b0{1,2,5,6}/$USER/kaldi-data/egs/swbd-$(date +'%m_%d_%H_%M')/s5/${srcdir}_degs/storage ${srcdir}_degs/storage\n+    fi\n+    # have a higher maximum num-jobs if\n+    if [ -d ${srcdir}_degs/storage ]; then max_jobs=10; else max_jobs=5; fi\n+\n+    degs_opts=\"--determinize $determinize --minimize $minimize --remove-output-symbols $remove_output_symbols --remove-epsilons $remove_epsilons --collapse-transition-ids $collapse_transition_ids\"\n+\n+    steps/nnet3/get_egs_discriminative.sh \\\n+      --cmd \"$decode_cmd --max-jobs-run $max_jobs --mem 20G\" --stage $get_egs_stage --cmvn-opts \"$cmvn_opts\" \\\n+      --online-ivector-dir $online_ivector_dir --left-context $left_context --right-context $right_context \\\n+      --criterion $criterion --frames-per-eg $frames_per_eg --frames-overlap-per-eg $frames_overlap_per_eg ${degs_opts} \\\n+      $train_data_dir data/lang ${srcdir}_ali $lats_dir $srcdir/final.mdl $degs_dir || exit 1;\n+\n+    # the command below is a more generic, but slower, way to do it.","path":"egs/wsj/s5/local/nnet3/run_discriminative.sh","position":157,"original_position":157,"commit_id":"49a3d19600ace2c32b9ccba8164f620d9876259f","original_commit_id":"bdb5a84b78eb6579ed1d04cf17e79b95e56e3824","user":{"login":"danpovey","id":3298747,"avatar_url":"https://avatars.githubusercontent.com/u/3298747?v=3","gravatar_id":"","url":"https://api.github.com/users/danpovey","html_url":"https://github.com/danpovey","followers_url":"https://api.github.com/users/danpovey/followers","following_url":"https://api.github.com/users/danpovey/following{/other_user}","gists_url":"https://api.github.com/users/danpovey/gists{/gist_id}","starred_url":"https://api.github.com/users/danpovey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danpovey/subscriptions","organizations_url":"https://api.github.com/users/danpovey/orgs","repos_url":"https://api.github.com/users/danpovey/repos","events_url":"https://api.github.com/users/danpovey/events{/privacy}","received_events_url":"https://api.github.com/users/danpovey/received_events","type":"User","site_admin":false},"body":"vimal, you did not act on this comment.\r\nIt looks like you have seen only a minority of my comments.","created_at":"2016-03-10T06:42:57Z","updated_at":"2016-03-10T06:42:57Z","html_url":"https://github.com/kaldi-asr/kaldi/pull/574#discussion_r55639543","pull_request_url":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/574","_links":{"self":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/comments/55639543"},"html":{"href":"https://github.com/kaldi-asr/kaldi/pull/574#discussion_r55639543"},"pull_request":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/574"}}},"pull_request":{"url":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/574","id":62320534,"html_url":"https://github.com/kaldi-asr/kaldi/pull/574","diff_url":"https://github.com/kaldi-asr/kaldi/pull/574.diff","patch_url":"https://github.com/kaldi-asr/kaldi/pull/574.patch","issue_url":"https://api.github.com/repos/kaldi-asr/kaldi/issues/574","number":574,"state":"open","locked":false,"title":"Discriminative training scripts in nnet3","user":{"login":"vimalmanohar","id":4199255,"avatar_url":"https://avatars.githubusercontent.com/u/4199255?v=3","gravatar_id":"","url":"https://api.github.com/users/vimalmanohar","html_url":"https://github.com/vimalmanohar","followers_url":"https://api.github.com/users/vimalmanohar/followers","following_url":"https://api.github.com/users/vimalmanohar/following{/other_user}","gists_url":"https://api.github.com/users/vimalmanohar/gists{/gist_id}","starred_url":"https://api.github.com/users/vimalmanohar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vimalmanohar/subscriptions","organizations_url":"https://api.github.com/users/vimalmanohar/orgs","repos_url":"https://api.github.com/users/vimalmanohar/repos","events_url":"https://api.github.com/users/vimalmanohar/events{/privacy}","received_events_url":"https://api.github.com/users/vimalmanohar/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-03-10T00:28:22Z","updated_at":"2016-03-10T06:42:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fe1fb8f06bc81c3046ec24ebb548ea0e734becfd","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/574/commits","review_comments_url":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/574/comments","review_comment_url":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kaldi-asr/kaldi/issues/574/comments","statuses_url":"https://api.github.com/repos/kaldi-asr/kaldi/statuses/49a3d19600ace2c32b9ccba8164f620d9876259f","head":{"label":"vimalmanohar:sequence_changes","ref":"sequence_changes","sha":"49a3d19600ace2c32b9ccba8164f620d9876259f","user":{"login":"vimalmanohar","id":4199255,"avatar_url":"https://avatars.githubusercontent.com/u/4199255?v=3","gravatar_id":"","url":"https://api.github.com/users/vimalmanohar","html_url":"https://github.com/vimalmanohar","followers_url":"https://api.github.com/users/vimalmanohar/followers","following_url":"https://api.github.com/users/vimalmanohar/following{/other_user}","gists_url":"https://api.github.com/users/vimalmanohar/gists{/gist_id}","starred_url":"https://api.github.com/users/vimalmanohar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vimalmanohar/subscriptions","organizations_url":"https://api.github.com/users/vimalmanohar/orgs","repos_url":"https://api.github.com/users/vimalmanohar/repos","events_url":"https://api.github.com/users/vimalmanohar/events{/privacy}","received_events_url":"https://api.github.com/users/vimalmanohar/received_events","type":"User","site_admin":false},"repo":{"id":39757201,"name":"kaldi","full_name":"vimalmanohar/kaldi","owner":{"login":"vimalmanohar","id":4199255,"avatar_url":"https://avatars.githubusercontent.com/u/4199255?v=3","gravatar_id":"","url":"https://api.github.com/users/vimalmanohar","html_url":"https://github.com/vimalmanohar","followers_url":"https://api.github.com/users/vimalmanohar/followers","following_url":"https://api.github.com/users/vimalmanohar/following{/other_user}","gists_url":"https://api.github.com/users/vimalmanohar/gists{/gist_id}","starred_url":"https://api.github.com/users/vimalmanohar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vimalmanohar/subscriptions","organizations_url":"https://api.github.com/users/vimalmanohar/orgs","repos_url":"https://api.github.com/users/vimalmanohar/repos","events_url":"https://api.github.com/users/vimalmanohar/events{/privacy}","received_events_url":"https://api.github.com/users/vimalmanohar/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vimalmanohar/kaldi","description":"This is now the official location of the Kaldi project.","fork":true,"url":"https://api.github.com/repos/vimalmanohar/kaldi","forks_url":"https://api.github.com/repos/vimalmanohar/kaldi/forks","keys_url":"https://api.github.com/repos/vimalmanohar/kaldi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vimalmanohar/kaldi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vimalmanohar/kaldi/teams","hooks_url":"https://api.github.com/repos/vimalmanohar/kaldi/hooks","issue_events_url":"https://api.github.com/repos/vimalmanohar/kaldi/issues/events{/number}","events_url":"https://api.github.com/repos/vimalmanohar/kaldi/events","assignees_url":"https://api.github.com/repos/vimalmanohar/kaldi/assignees{/user}","branches_url":"https://api.github.com/repos/vimalmanohar/kaldi/branches{/branch}","tags_url":"https://api.github.com/repos/vimalmanohar/kaldi/tags","blobs_url":"https://api.github.com/repos/vimalmanohar/kaldi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vimalmanohar/kaldi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vimalmanohar/kaldi/git/refs{/sha}","trees_url":"https://api.github.com/repos/vimalmanohar/kaldi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vimalmanohar/kaldi/statuses/{sha}","languages_url":"https://api.github.com/repos/vimalmanohar/kaldi/languages","stargazers_url":"https://api.github.com/repos/vimalmanohar/kaldi/stargazers","contributors_url":"https://api.github.com/repos/vimalmanohar/kaldi/contributors","subscribers_url":"https://api.github.com/repos/vimalmanohar/kaldi/subscribers","subscription_url":"https://api.github.com/repos/vimalmanohar/kaldi/subscription","commits_url":"https://api.github.com/repos/vimalmanohar/kaldi/commits{/sha}","git_commits_url":"https://api.github.com/repos/vimalmanohar/kaldi/git/commits{/sha}","comments_url":"https://api.github.com/repos/vimalmanohar/kaldi/comments{/number}","issue_comment_url":"https://api.github.com/repos/vimalmanohar/kaldi/issues/comments{/number}","contents_url":"https://api.github.com/repos/vimalmanohar/kaldi/contents/{+path}","compare_url":"https://api.github.com/repos/vimalmanohar/kaldi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vimalmanohar/kaldi/merges","archive_url":"https://api.github.com/repos/vimalmanohar/kaldi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vimalmanohar/kaldi/downloads","issues_url":"https://api.github.com/repos/vimalmanohar/kaldi/issues{/number}","pulls_url":"https://api.github.com/repos/vimalmanohar/kaldi/pulls{/number}","milestones_url":"https://api.github.com/repos/vimalmanohar/kaldi/milestones{/number}","notifications_url":"https://api.github.com/repos/vimalmanohar/kaldi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vimalmanohar/kaldi/labels{/name}","releases_url":"https://api.github.com/repos/vimalmanohar/kaldi/releases{/id}","deployments_url":"https://api.github.com/repos/vimalmanohar/kaldi/deployments","created_at":"2015-07-27T05:46:16Z","updated_at":"2016-02-03T06:27:42Z","pushed_at":"2016-03-10T06:26:10Z","git_url":"git://github.com/vimalmanohar/kaldi.git","ssh_url":"git@github.com:vimalmanohar/kaldi.git","clone_url":"https://github.com/vimalmanohar/kaldi.git","svn_url":"https://github.com/vimalmanohar/kaldi","homepage":"http://kaldi-asr.org","size":106368,"stargazers_count":4,"watchers_count":4,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":0,"forks":3,"open_issues":0,"watchers":4,"default_branch":"master"}},"base":{"label":"kaldi-asr:chain","ref":"chain","sha":"d93049797a35dfbb0b3cf53443e9314d58e5d20d","user":{"login":"kaldi-asr","id":11650082,"avatar_url":"https://avatars.githubusercontent.com/u/11650082?v=3","gravatar_id":"","url":"https://api.github.com/users/kaldi-asr","html_url":"https://github.com/kaldi-asr","followers_url":"https://api.github.com/users/kaldi-asr/followers","following_url":"https://api.github.com/users/kaldi-asr/following{/other_user}","gists_url":"https://api.github.com/users/kaldi-asr/gists{/gist_id}","starred_url":"https://api.github.com/users/kaldi-asr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaldi-asr/subscriptions","organizations_url":"https://api.github.com/users/kaldi-asr/orgs","repos_url":"https://api.github.com/users/kaldi-asr/repos","events_url":"https://api.github.com/users/kaldi-asr/events{/privacy}","received_events_url":"https://api.github.com/users/kaldi-asr/received_events","type":"Organization","site_admin":false},"repo":{"id":34275045,"name":"kaldi","full_name":"kaldi-asr/kaldi","owner":{"login":"kaldi-asr","id":11650082,"avatar_url":"https://avatars.githubusercontent.com/u/11650082?v=3","gravatar_id":"","url":"https://api.github.com/users/kaldi-asr","html_url":"https://github.com/kaldi-asr","followers_url":"https://api.github.com/users/kaldi-asr/followers","following_url":"https://api.github.com/users/kaldi-asr/following{/other_user}","gists_url":"https://api.github.com/users/kaldi-asr/gists{/gist_id}","starred_url":"https://api.github.com/users/kaldi-asr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaldi-asr/subscriptions","organizations_url":"https://api.github.com/users/kaldi-asr/orgs","repos_url":"https://api.github.com/users/kaldi-asr/repos","events_url":"https://api.github.com/users/kaldi-asr/events{/privacy}","received_events_url":"https://api.github.com/users/kaldi-asr/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kaldi-asr/kaldi","description":"This is now the official location of the Kaldi project.","fork":false,"url":"https://api.github.com/repos/kaldi-asr/kaldi","forks_url":"https://api.github.com/repos/kaldi-asr/kaldi/forks","keys_url":"https://api.github.com/repos/kaldi-asr/kaldi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kaldi-asr/kaldi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kaldi-asr/kaldi/teams","hooks_url":"https://api.github.com/repos/kaldi-asr/kaldi/hooks","issue_events_url":"https://api.github.com/repos/kaldi-asr/kaldi/issues/events{/number}","events_url":"https://api.github.com/repos/kaldi-asr/kaldi/events","assignees_url":"https://api.github.com/repos/kaldi-asr/kaldi/assignees{/user}","branches_url":"https://api.github.com/repos/kaldi-asr/kaldi/branches{/branch}","tags_url":"https://api.github.com/repos/kaldi-asr/kaldi/tags","blobs_url":"https://api.github.com/repos/kaldi-asr/kaldi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kaldi-asr/kaldi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kaldi-asr/kaldi/git/refs{/sha}","trees_url":"https://api.github.com/repos/kaldi-asr/kaldi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kaldi-asr/kaldi/statuses/{sha}","languages_url":"https://api.github.com/repos/kaldi-asr/kaldi/languages","stargazers_url":"https://api.github.com/repos/kaldi-asr/kaldi/stargazers","contributors_url":"https://api.github.com/repos/kaldi-asr/kaldi/contributors","subscribers_url":"https://api.github.com/repos/kaldi-asr/kaldi/subscribers","subscription_url":"https://api.github.com/repos/kaldi-asr/kaldi/subscription","commits_url":"https://api.github.com/repos/kaldi-asr/kaldi/commits{/sha}","git_commits_url":"https://api.github.com/repos/kaldi-asr/kaldi/git/commits{/sha}","comments_url":"https://api.github.com/repos/kaldi-asr/kaldi/comments{/number}","issue_comment_url":"https://api.github.com/repos/kaldi-asr/kaldi/issues/comments{/number}","contents_url":"https://api.github.com/repos/kaldi-asr/kaldi/contents/{+path}","compare_url":"https://api.github.com/repos/kaldi-asr/kaldi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kaldi-asr/kaldi/merges","archive_url":"https://api.github.com/repos/kaldi-asr/kaldi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kaldi-asr/kaldi/downloads","issues_url":"https://api.github.com/repos/kaldi-asr/kaldi/issues{/number}","pulls_url":"https://api.github.com/repos/kaldi-asr/kaldi/pulls{/number}","milestones_url":"https://api.github.com/repos/kaldi-asr/kaldi/milestones{/number}","notifications_url":"https://api.github.com/repos/kaldi-asr/kaldi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kaldi-asr/kaldi/labels{/name}","releases_url":"https://api.github.com/repos/kaldi-asr/kaldi/releases{/id}","deployments_url":"https://api.github.com/repos/kaldi-asr/kaldi/deployments","created_at":"2015-04-20T17:23:16Z","updated_at":"2016-03-10T01:10:23Z","pushed_at":"2016-03-10T06:26:10Z","git_url":"git://github.com/kaldi-asr/kaldi.git","ssh_url":"git@github.com:kaldi-asr/kaldi.git","clone_url":"https://github.com/kaldi-asr/kaldi.git","svn_url":"https://github.com/kaldi-asr/kaldi","homepage":"http://kaldi-asr.org","size":114351,"stargazers_count":489,"watchers_count":489,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":304,"mirror_url":null,"open_issues_count":35,"forks":304,"open_issues":35,"watchers":489,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/574"},"html":{"href":"https://github.com/kaldi-asr/kaldi/pull/574"},"issue":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/issues/574"},"comments":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/issues/574/comments"},"review_comments":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/574/comments"},"review_comment":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/pulls/574/commits"},"statuses":{"href":"https://api.github.com/repos/kaldi-asr/kaldi/statuses/49a3d19600ace2c32b9ccba8164f620d9876259f"}}}}