You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2018/06/11 21:35:32 UTC

[GitHub] marcoabreu closed pull request #61: Scripts for Broken Link checker Job

marcoabreu closed pull request #61: Scripts for Broken Link checker Job 
URL: https://github.com/apache/incubator-mxnet-site/pull/61
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/_urlList/check_regression.sh b/_urlList/check_regression.sh
new file mode 100755
index 000000000..734d0594f
--- /dev/null
+++ b/_urlList/check_regression.sh
@@ -0,0 +1,27 @@
+#! /bin/sh
+
+cat blc_output.txt | uniq | grep -Eo "(http|https).* " | sort| uniq > unique_current_urls.txt
+
+cat url_list.txt unique_current_urls.txt | sort | uniq > new_url_list.txt
+regression=false
+while IFS= read -r line
+do
+	err=$(curl -Is $line | head -n 1 | grep 404)
+	if [ "$err" ]; then
+		if [ "$regression" = false ] ; then
+			echo "FAIL: REGRESSION"
+			regression=true
+		fi
+		echo "BROKEN $line $err"
+	fi
+	unset err
+done < new_url_list.txt
+mv new_url_list.txt url_list.txt
+rm -rf unique_current_urls.txt
+rm -rf blc_output.txt
+if [ $regression ]; then
+	echo "FAIL: Found Regression in broken link checker"
+	exit 1
+else 
+	echo "SUCCESS: No Regression found"
+fi
diff --git a/_urlList/find_broken_link.sh b/_urlList/find_broken_link.sh
new file mode 100755
index 000000000..c10e9e595
--- /dev/null
+++ b/_urlList/find_broken_link.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+set -e
+
+
+# Install npm
+apt-get install -y npm
+
+# Install nodejs- v 7.10.1
+#apt-get install -y curl python-software-properties
+curl -sL https://deb.nodesource.com/setup_8.x | bash -
+apt-get install -y nodejs
+
+# Install broken link checker utility
+npm install broken-link-checker -g
+
+# Test broken link and print summary.
+python test_broken_links.py
diff --git a/_urlList/run_as_user.sh b/_urlList/run_as_user.sh
new file mode 100755
index 000000000..db90f0bd0
--- /dev/null
+++ b/_urlList/run_as_user.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# Exit script with error if any errors occur
+set -e
+
+if [[ ! $1 || ! $2 || ! $3 || ! $4 || ! $5 ]];
+then
+    echo "USAGE: " $(basename $"0") "USER_ID USER_NAME GROUP_ID GROUP_NAME SCRIPT"
+    exit 1
+fi
+
+USER_ID=$1
+USER_NAME=$2
+GROUP_ID=$3
+GROUP_NAME=$4
+SCRIPT=$5
+
+HOME_DIR=/home/${USER_NAME}
+
+groupadd -f -g ${GROUP_ID} ${GROUP_NAME}
+useradd -m -u ${USER_ID} -g ${GROUP_NAME} ${USER_NAME}
+chown -R ${USER_NAME}:${GROUP_NAME} ${HOME_DIR}
+chown -R ${USER_NAME}:${GROUP_NAME} /usr/local/lib/
+echo "%${GROUP_NAME}  ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
+su -m ${USER_NAME} -c "export HOME=${HOME_DIR}; ${SCRIPT}"
diff --git a/_urlList/test_broken_links.py b/_urlList/test_broken_links.py
new file mode 100755
index 000000000..a057f394f
--- /dev/null
+++ b/_urlList/test_broken_links.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+
+import sys
+from subprocess import check_output, STDOUT, CalledProcessError
+
+
+def prepare_link_test_result(command_output):
+    # Constant string patterns
+    NEW_PAGE_TEST_START_REGEX = "Getting links from:"
+    BROKEN_PAGE_START_REGEX = "BROKEN"
+    PAGE_TEST_END_REGEX = "Finished! "
+    
+    # Whitelisted broken links patterns
+    HTTP_403_REGEX = "(HTTP_403)"
+    HTTP_401_REGEX = "(HTTP_401)"
+    BLC_UNKNOWN_REGEX = "(BLC_UNKNOWN)"
+    HTTP_UNDEFINED = "HTTP_undefined"
+    FALSE_SCALA_API_DOC_LINK = "java$lang.html"
+    FALSE_SCALA_API_DEPRECATED_LINK = "api/scala/docs/deprecated-list.html"
+    FALSE_PAPER_LINK = "https://static.googleusercontent.com/media/research.google.com/en/pubs/archive/45488.pdf"
+
+    # Initialize flags with happy case
+    current_page = ""
+    current_page_broken = False
+    current_page_broken_links = ""
+
+    broken_links_count = 0
+    broken_links_summary = ""
+
+    for line in command_output.splitlines():
+        if line.startswith(NEW_PAGE_TEST_START_REGEX):
+            # New page test is starting. Reset the flags
+            current_page = line.split(NEW_PAGE_TEST_START_REGEX)[1]
+            current_page_broken = False
+            current_page_broken_links = ""
+
+        if line.find(BROKEN_PAGE_START_REGEX) != -1:
+            # Skip (401, 403, unknown issues)
+            if HTTP_403_REGEX not in line and HTTP_401_REGEX not in line and BLC_UNKNOWN_REGEX not in line and HTTP_UNDEFINED not in line and FALSE_SCALA_API_DOC_LINK not in line and FALSE_SCALA_API_DEPRECATED_LINK not in line and FALSE_PAPER_LINK not in line:
+                current_page_broken = True
+                current_page_broken_links += line.split(BROKEN_PAGE_START_REGEX)[1] + "\n"
+
+        if line.startswith(PAGE_TEST_END_REGEX):
+            if current_page_broken:
+                broken_links_count += 1
+                broken_links_summary += "\nURL - " + current_page
+                broken_links_summary += "\nBroken Links\n" + current_page_broken_links
+
+    return broken_links_count, broken_links_summary
+
+# Command to check broken links
+# Reference - https://www.npmjs.com/package/broken-link-checker
+cmd = "blc https://mxnet.incubator.apache.org -ro"
+broken_links_count = 0
+broken_links_summary = ""
+
+text_file = open("./blc_output.txt", 'w')
+command_output = ""
+print("Starting broken link test with command $ " + cmd)
+try:
+    command_output = check_output(cmd, stderr=STDOUT, shell=True)
+except CalledProcessError as ex:
+    if ex.returncode > 1:
+        print("Failed to do broken link test. Console output : \n" + ex.output)
+        sys.exit(ex.returncode)
+    command_output = ex.output
+
+text_file.write(command_output)
+text_file.close()
+broken_links_count, broken_links_summary = prepare_link_test_result(command_output)
+# These START and END string in output is used to parse the script output in automated scripts and nightly jobs.
+print("START - Broken links count")
+print(broken_links_count)
+print("END - Broken links count")
+
+print("START - Broken links summary")
+
+if broken_links_count == 0:
+    print("No broken links in https://mxnet.incubator.apache.org")
+    print("END - Broken links summary")
+else:
+    print(broken_links_summary)
+    print("END - Broken links summary")
+
diff --git a/_urlList/url_list.txt b/_urlList/url_list.txt
new file mode 100644
index 000000000..719559c86
--- /dev/null
+++ b/_urlList/url_list.txt
@@ -0,0 +1,293 @@
+http://archive.apache.org/dist/incubator/mxnet/1.0.0/apache-mxnet-src-0.12.1-incubating.tar.gz.md5 
+http://docs.opencv.org/master/da/d54/group__imgproc__transform.html 
+http://grouplens.org/datasets/movielens/ 
+http://image-net.org/index 
+http://mxnet.incubator.apache.org/tutorials/basic/naming.html 
+http://mxnet.io/architecture/index.html 
+http://mxnet.io/community/index.html 
+http://mxnet.io/community/index.md 
+http://mxnet.io/faq/index.html 
+http://mxnet.io/install/index.html 
+http://mxnet.io/tutorials/embedded/wine_detector.html 
+http://mxnet.io/tutorials/index.html 
+http://opencv.org/ 
+http://opencv.org/opencv-3-2.html 
+http://scipy.org/install.html 
+http://www.image-net.org/ 
+http://yann.lecun.com/exdb/mnist/nnnnDefined 
+https://blog.kovalevskyi.com/mxnet-distributed-training-explained-in-depth-part-1-b90c84bda725 
+https://developer.apple.com/download/more/ 
+https://developer.apple.com/xcode/ 
+https://github.com/NVIDIA/nvidia-docker/wiki/Installation 
+https://github.com/apache/incubator-mxnet/%0Ablob/master/scala-package/examples/src/main/scala/org/apache/mxnetexamples/inferexample/%0Aimageclassifier/ 
+https://github.com/apache/incubator-mxnet/%0Ablob/master/scala-package/examples/src/main/scala/org/apache/mxnetexamples/inferexample/%0Aobjectdetector/ 
+https://github.com/dmlc/mxnet/blob/master/scala-package/examples/src/main/scala/ml/dmlc/mxnetexamples/neuralstyle/NeuralStyle.scala 
+https://github.com/dmlc/mxnet/tree/master/scala-package/examples/src/main/scala/ml/dmlc/mxnetexamples 
+https://github.com/incubator-mxnet/tree/master/scala-package/examples/ 
+https://itunes.apple.com/us/app/xcode/id497799835 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#Activation 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#BatchNorm 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#Dense 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#Dropout 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#Embedding 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#Flatten 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#HybridLambda 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#Lambda 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/basic_layers.html#LeakyReLU 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#AvgPool1D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#AvgPool2D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#AvgPool3D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#Conv1D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#Conv1DTranspose 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#Conv2D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#Conv2DTranspose 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#Conv3D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#Conv3DTranspose 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#GlobalAvgPool1D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#GlobalAvgPool2D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#GlobalAvgPool3D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#GlobalMaxPool1D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#GlobalMaxPool2D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#GlobalMaxPool3D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#MaxPool1D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#MaxPool2D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/nn/conv_layers.html#MaxPool3D 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#BidirectionalCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#DropoutCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#GRUCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#HybridRecurrentCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#LSTMCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#ModifierCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#RNNCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#RecurrentCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#RecurrentCell.begin_state 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#RecurrentCell.forward 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#RecurrentCell.reset 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#RecurrentCell.state_info 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#RecurrentCell.unroll 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#ResidualCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#SequentialRNNCell 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#SequentialRNNCell.add 
+https://mxnet.incubator.apache.org/_modules/mxnet/gluon/rnn/rnn_cell.html#ZoneoutCell 
+https://mxnet.incubator.apache.org/api/julia/index.html 
+https://mxnet.incubator.apache.org/api/python/gluon.html#mxnet.gluon.loss.softmax_cross_entropy_loss 
+https://mxnet.incubator.apache.org/api/python/gluon.html#mxnet.gluon.nn.Sequential 
+https://mxnet.incubator.apache.org/api/python/gluon.html#trainer 
+https://mxnet.incubator.apache.org/api/python/gluon/gluon.html 
+https://mxnet.incubator.apache.org/api/python/gluon/gluon.html#mxnet.gluon.Block 
+https://mxnet.incubator.apache.org/api/python/gluon/gluon.html#mxnet.gluon.Block.name 
+https://mxnet.incubator.apache.org/api/python/gluon/gluon.html#mxnet.gluon.Parameter 
+https://mxnet.incubator.apache.org/api/python/gluon/gluon.html#mxnet.gluon.ParameterDict 
+https://mxnet.incubator.apache.org/api/python/image.html#mxnet.image.RandomOrderAug 
+https://mxnet.incubator.apache.org/api/python/index.html 
+https://mxnet.incubator.apache.org/api/python/index.html#autograd-api 
+https://mxnet.incubator.apache.org/api/python/index.html#callback-api 
+https://mxnet.incubator.apache.org/api/python/index.html#contrib-package 
+https://mxnet.incubator.apache.org/api/python/index.html#gluon-api 
+https://mxnet.incubator.apache.org/api/python/index.html#image-api 
+https://mxnet.incubator.apache.org/api/python/index.html#io-api 
+https://mxnet.incubator.apache.org/api/python/index.html#kvstore-api 
+https://mxnet.incubator.apache.org/api/python/index.html#metric-api 
+https://mxnet.incubator.apache.org/api/python/index.html#module-api 
+https://mxnet.incubator.apache.org/api/python/index.html#ndarray-api 
+https://mxnet.incubator.apache.org/api/python/index.html#optimization-api 
+https://mxnet.incubator.apache.org/api/python/index.html#run-time-compilation-api 
+https://mxnet.incubator.apache.org/api/python/index.html#symbol-api 
+https://mxnet.incubator.apache.org/api/python/metric.html#mxnet.metric.Accuracy 
+https://mxnet.incubator.apache.org/api/python/optimization.html#mxnet.initializer.Xavier 
+https://mxnet.incubator.apache.org/api/python/optimization.html#mxnet.optimizer.Adam 
+https://mxnet.incubator.apache.org/api/python/optimization.html#mxnet.optimizer.SGD 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#module-mxnet.initializer 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Bilinear 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Constant 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.FusedRNN 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.InitDesc 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Initializer 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Initializer.dumps 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Initializer.set_verbosity 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.LSTMBias 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Load 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.MSRAPrelu 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Mixed 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Normal 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.One 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Orthogonal 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Uniform 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Xavier 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.Zero 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.initializer.register 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.lr_scheduler.LRScheduler 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.AdaDelta 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.AdaGrad 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Adam 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Adamax 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.DCASGD 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.FTML 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Ftrl 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.NAG 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Nadam 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.create_optimizer 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.create_state 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.create_state_multi_precision 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.register 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.set_learning_rate 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.set_lr_mult 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.set_lr_scale 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.set_wd_mult 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.update 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Optimizer.update_multi_precision 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.RMSProp 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.SGD 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.SGLD 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Signum 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Test 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Test.create_state 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Test.update 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Updater 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Updater.get_states 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.Updater.set_states 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.ccSGD 
+https://mxnet.incubator.apache.org/api/python/optimization/optimization.html#mxnet.optimizer.get_updater 
+https://mxnet.incubator.apache.org/api/scala/docs/java$lang.html 
+https://mxnet.incubator.apache.org/api/scala/index.html 
+https://mxnet.incubator.apache.org/community/index.md 
+https://mxnet.incubator.apache.org/community/powered_by.html 
+https://mxnet.incubator.apache.org/doxygen/classmxnet_1_1common_1_1random_1_1RandGenerator.html 
+https://mxnet.incubator.apache.org/doxygen/classmxnet_1_1common_1_1random_1_1RandGenerator_3_01cpu_00_01DType_01_4.html 
+https://mxnet.incubator.apache.org/doxygen/classmxnet_1_1common_1_1random_1_1RandGenerator_3_01cpu_00_01DType_01_4.html#a03cb2c614a863bb13870e4bca11f0c60 
+https://mxnet.incubator.apache.org/doxygen/classmxnet_1_1common_1_1random_1_1RandGenerator_3_01cpu_00_01DType_01_4.html#a270a37e7c44ce92030bf9e5a26c30f4d 
+https://mxnet.incubator.apache.org/doxygen/classmxnet_1_1common_1_1random_1_1RandGenerator_3_01cpu_00_01DType_01_4.html#a4fd597ed27227e42234d4b43826fc0f9 
+https://mxnet.incubator.apache.org/doxygen/classmxnet_1_1common_1_1random_1_1RandGenerator_3_01cpu_00_01DType_01_4.html#aaa64545e32685e361acac218ef764d76 
+https://mxnet.incubator.apache.org/doxygen/classmxnet_1_1common_1_1random_1_1RandGenerator_3_01cpu_00_01DType_01_4.html#ad59a015f903f3f139a841d61d510b8eb 
+https://mxnet.incubator.apache.org/doxygen/namespacemembers.html 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a050beaa505f11e0b844deb91efe0cac2 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a0906e49a921265634672f555451075ed 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a0a1395f21139ba975a6268539df6a15d 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a0c8542953df5093060985db5518a339b 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a1183dd8b779392f7ddafe1b010a6a2fe 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a15dfd6f3fa03dc2cf39dbab1225e1a51 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a2846f4556c9ca9bd0f567504ce60f274 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a294d2660c065f8d229c27e65f0461e10 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a30bfda0e3e1b347e3057097cafc628be 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a31ef33571a4f6ba8847eeee1f4907141 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a3455659b714488e8e53e4e4580a43ec7 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a4421326e33f2a848cb2fa3e70ab24ff4 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a4dafe3aae43025fd21bc44b98c18ed1e 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a502e3e00dc61cedb9c6eef711f1176ac 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a51f9b094369a349c05463de2be9f0a31 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a536b732faa980e1de446c552460ff76a 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a536b732faa980e1de446c552460ff76aa777c7ad3afa566f2e841f12c81aab254 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a536b732faa980e1de446c552460ff76aabf6395d98a9668e8066a0c0da5570608 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a536b732faa980e1de446c552460ff76aac095f52c31076adc7207f4a4f17d7aa3 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a536b732faa980e1de446c552460ff76aadf6c6faf0de1e55119c679180c99e584 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a5a28062f52ca576a126599e7ad487077 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a5bf83454c8f41259eb9d471f59feda2b 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a6606bef15f41cccade14c9400e8447cf 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a66510f6a344ee38bb89cb552e974b838 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a666f1055e5401ecec0278e8ba5790732 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a6dca73c81706d54b0ddb0ef967d1e132 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a6e14bb5f6ffc81892feca8d1da658687 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a6f5428fbf261a94eaac079ec24413815 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a7cd7094ef222e9ae1f520c3b6a214398 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a7cd7094ef222e9ae1f520c3b6a214398a001b85096e07108e174fe4c406368a26 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a7cd7094ef222e9ae1f520c3b6a214398a03b4c19f34d3add7deecd7ef6c54b42a 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a7cd7094ef222e9ae1f520c3b6a214398a1b850737dba4d2c42a2687d14c10f383 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a7cd7094ef222e9ae1f520c3b6a214398a640322face587ca12684378d0f053d51 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a850af9d76d9d4beaeb5234c1434973e3 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a89a5f0f5cfd9e1e94604a7b42dda818a 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a89a5f0f5cfd9e1e94604a7b42dda818aa334598420a4246d5412ddc346b2b57bd 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a89a5f0f5cfd9e1e94604a7b42dda818aabbc1ba0bb3f8647dcfd8bad69efdbb51 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a89a5f0f5cfd9e1e94604a7b42dda818aaef9818c8aae9d0046b3d9033a62fcfbb 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a9097a269dd76d833c014149ff3eaab9b 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3b 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba07fa7a19aa722c635a15e94cb7f50416 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba6cd75f41e0ec8d61b0a2f0e20ef6d1e8 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba739f2f416f05f4728c217f09e93958d1 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3ba9f2b960005d2a3a5f35ac32809d84db7 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3bac41ceb98eeb9b2e208e3e242a7357142 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#a998b74220fab2b012cf8a179650e1b3bac41fda8552e9d327ad3b06b1bafa663a 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#aa005a02aac4f297b6fab561e907e89e3 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#aad5fec2b4bceabbf4b884460cc2e0a2b 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#aad5fec2b4bceabbf4b884460cc2e0a2ba18bf63b4c196f79c9bca4ad8637e8fef 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#aad5fec2b4bceabbf4b884460cc2e0a2ba2157864769b54d1d0f8f9be63393e7d6 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#aad5fec2b4bceabbf4b884460cc2e0a2ba57f93219462690bc438372ecd92fedd5 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#aad5fec2b4bceabbf4b884460cc2e0a2ba7934d40c7c17315d892e8d5d745b1c66 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#aad5fec2b4bceabbf4b884460cc2e0a2bafb751f6ee1af15e773242f2accd2dbff 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ab0d55b0edf98cf8f3caeb050662ae9ec 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ab12f1853179b1456152a563edff844a9 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ab54083e73557ebb63c021653da688810 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#abadedc1b42ee3e5b8852e63783b982ef 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ac2fb286fd7ddfbc7af1456f6c7a7ee52 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#acb83431b596f805fabcc4ba400c62e85 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ace60510752753f459193f95cab0e9e1a 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ace60510752753f459193f95cab0e9e1aa11ce5dbb8ad355e9ee5a678f2f51a5bb 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ace60510752753f459193f95cab0e9e1aa200492eeec6fa431683ef0d943bfbc2d 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ace60510752753f459193f95cab0e9e1aa322b8b178929b43f1b4b16c8cb9003ef 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ace60510752753f459193f95cab0e9e1aa7636cc230df4abe46f3210846faac799 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ace60510752753f459193f95cab0e9e1aaf3ee084ba1d9a6203922ff7c9ddb12e3 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ace60510752753f459193f95cab0e9e1aaf64429479d4a48998e6cd122a3117628 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ad77e2048b7e8db91a12e05b477aac13e 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ad7801fb2dd68294d4c7a9e289bc071ad 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ad7801fb2dd68294d4c7a9e289bc071ada3864860a073c64d74d3fc8e765fa6cad 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ad7801fb2dd68294d4c7a9e289bc071ada9f2b960005d2a3a5f35ac32809d84db7 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ad7801fb2dd68294d4c7a9e289bc071adae3bade32f12a5139b27ef40b3689b77c 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ad8e0dad88ce27133fd24811763b7afdb 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ae3356844b657c9ae1b84d3ddd56bccf6 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ae4143fe21881cbf0174bba638e8e0330 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ae7b0809624683afc59b6d7f7784d8bfb 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#ae82f70918b2d946f7ad66a158b1733dc 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#aed55e8197182b7c66126902b2a43739a 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#af26b09fbcda865d34ec4fdad482d266a 
+https://mxnet.incubator.apache.org/doxygen/namespacemxnet.html#afaa687cbca9e992614be285711c1d72d 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1ObjectPoolAllocatable.html 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1ObjectPoolAllocatable.html#a68ed487cb6de6194a4798fdbbfd04597 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1ObjectPoolAllocatable.html#aaf92ecb0cb6542b5c3f70ec31a31db4e 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1ObjectPoolAllocatable.html#details 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1csr__idx__check.html 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1csr__idx__check.html#a325e38479cce9fd6f444ae5ba3b3a2f4 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1csr__idx__check.html#details 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1csr__indptr__check.html 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1csr__indptr__check.html#a5da824c75914344ce1a228fcec1265b2 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1csr__indptr__check.html#details 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1helper_1_1UniqueIf_3_01T[kSize]_4.html 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1helper_1_1UniqueIf_3_01T[kSize]_4.html#af31c1728c4b497d304680d69d4e61421 
+https://mxnet.incubator.apache.org/doxygen/structmxnet_1_1common_1_1helper_1_1UniqueIf_3_01T[kSize]_4.html#details 
+https://mxnet.incubator.apache.org/get_started/why_mxnet.html 
+https://mxnet.incubator.apache.org/index.html 
+https://mxnet.incubator.apache.org/install/ubuntu_setup.html 
+https://mxnet.incubator.apache.org/install/windows_setup.html 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/io.html#BucketSentenceIter 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/io.html#BucketSentenceIter.next 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/io.html#BucketSentenceIter.reset 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#BaseRNNCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#BaseRNNCell.__call__ 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#BaseRNNCell.begin_state 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#BaseRNNCell.pack_weights 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#BaseRNNCell.reset 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#BaseRNNCell.unpack_weights 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#BaseRNNCell.unroll 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#BidirectionalCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#DropoutCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#FusedRNNCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#FusedRNNCell.unfuse 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#GRUCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#LSTMCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#RNNCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#RNNParams 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#RNNParams.get 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#ResidualCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#SequentialRNNCell 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#SequentialRNNCell.add 
+https://mxnet.incubator.apache.org/versions/master/_modules/mxnet/rnn/rnn_cell.html#ZoneoutCell 
+https://mxnet.incubator.apache.org/versions/master/api/python/symbol/contrib.html 
+https://mxnet.incubator.apache.org/versions/master/api/scala/docs/java$lang.html 
+https://mxnet.incubator.apache.org/versions/master/community/index.html 
+https://mxnet.incubator.apache.org/versions/master/faq/nnpack.html 
+https://mxnet.incubator.apache.org/versions/master/faq/perf.html 
+https://mxnet.incubator.apache.org/versions/master/faq/s3_integration.html 
+https://mxnet.incubator.apache.org/versions/master/faq/visualize_graph.html 
+https://mxnet.incubator.apache.org/versions/master/how_to/distributed_training.html 
+https://mxnet.incubator.apache.org/versions/master/versions/master/api/python/ndarray/sparse.html 
+https://opendatacommons.org/licenses/pddl/ 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services