Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Remove broken link regression test, fix broken links #12490

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/architecture/rnn_interface.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Survey of Existing Interfaces and Implementations

Commonly used deep learning libraries with good RNN/LSTM support include [Theano](http://deeplearning.net/software/theano/library/scan.html) and its wrappers [Lasagne](http://lasagne.readthedocs.org/en/latest/modules/layers/recurrent.html) and [Keras](http://keras.io/layers/recurrent/); [CNTK](https://cntk.codeplex.com/); [TensorFlow](https://www.tensorflow.org/versions/master/tutorials/recurrent/index.html); and various implementations in Torch, such as [this well-known character-level language model tutorial](https://github.com/karpathy/char-rnn), [this](https://github.com/Element-Research/rnn).
Commonly used deep learning libraries with good RNN/LSTM support include [Theano](http://deeplearning.net/software/theano/library/scan.html) and its wrappers [Lasagne](http://lasagne.readthedocs.org/en/latest/modules/layers/recurrent.html) and [Keras](http://keras.io/layers/recurrent/); [CNTK](https://cntk.codeplex.com/); [TensorFlow](https://www.tensorflow.org/tutorials/sequences/recurrent); and various implementations in Torch, such as [this well-known character-level language model tutorial](https://github.com/karpathy/char-rnn), [this](https://github.com/Element-Research/rnn).

In this document, we present a comparative analysis of the approaches taken by these libraries.

Expand Down Expand Up @@ -93,7 +93,7 @@ The low-level API for recurrent connection seem to be a *delay node*. But I'm no

## TensorFlow

The [current example of RNNLM](https://www.tensorflow.org/versions/master/tutorials/recurrent/index.html#recurrent-neural-networks) in TensorFlow uses explicit unrolling for a predefined number of time steps. The white-paper mentions that an advanced control flow API (Theano's scan-like) is planned.
The [current example of RNNLM](https://www.tensorflow.org/tutorials/sequences/recurrent#recurrent-neural-networks) in TensorFlow uses explicit unrolling for a predefined number of time steps. The white-paper mentions that an advanced control flow API (Theano's scan-like) is planned.

## Next Steps

Expand Down
2 changes: 1 addition & 1 deletion docs/install/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ Follow the four steps in this [docker documentation](https://docs.docker.com/eng

If you skip this step, you need to use *sudo* each time you invoke Docker.

**Step 3** Install *nvidia-docker-plugin* following the [installation instructions](https://github.com/NVIDIA/nvidia-docker/wiki/Installation). *nvidia-docker-plugin* is required to enable the usage of GPUs from the docker containers.
**Step 3** Install *nvidia-docker-plugin* following the [installation instructions](https://github.com/NVIDIA/nvidia-docker/wiki). *nvidia-docker-plugin* is required to enable the usage of GPUs from the docker containers.

**Step 4** Pull the MXNet docker image.

Expand Down
4 changes: 2 additions & 2 deletions docs/install/windows_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ These commands produce a library called ```mxnet.dll``` in the ```./build/Releas
Next, we install ```graphviz``` library that we use for visualizing network graphs you build on MXNet. We will also install [Jupyter Notebook](http://jupyter.readthedocs.io/) used for running MXNet tutorials and examples.
- Install ```graphviz``` by downloading MSI installer from [Graphviz Download Page](https://graphviz.gitlab.io/_pages/Download/Download_windows.html).
**Note** Make sure to add graphviz executable path to PATH environment variable. Refer [here for more details](http://stackoverflow.com/questions/35064304/runtimeerror-make-sure-the-graphviz-executables-are-on-your-systems-path-aft)
- Install ```Jupyter``` by installing [Anaconda for Python 2.7](https://www.continuum.io/downloads)
- Install ```Jupyter``` by installing [Anaconda for Python 2.7](https://www.anaconda.com/download/)
**Note** Do not install Anaconda for Python 3.5. MXNet has few compatibility issue with Python 3.5.

 
Expand All @@ -69,7 +69,7 @@ We have installed MXNet core library. Next, we will install MXNet interface pack
## Install MXNet for Python

1. Install ```Python``` using windows installer available [here](https://www.python.org/downloads/release/python-2712/).
2. Install ```Numpy``` using windows installer available [here](http://scipy.org/install.html).
2. Install ```Numpy``` using windows installer available [here](https://scipy.org/index.html).
3. Next, we install Python package interface for MXNet. You can find the Python interface package for [MXNet on GitHub](https://github.com/dmlc/mxnet/tree/master/python/mxnet).

```bash
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/onnx/export_mxnet_to_onnx.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Help on function export_model in module mxnet.contrib.onnx.mx2onnx.export_model:
export_model(sym, params, input_shape, input_type=<type 'numpy.float32'>, onnx_file_path=u'model.onnx', verbose=False)
Exports the MXNet model file, passed as a parameter, into ONNX model.
Accepts both symbol,parameter objects as well as json and params filepaths as input.
Operator support and coverage - https://cwiki.apache.org/confluence/display/MXNET/ONNX
Operator support and coverage - https://cwiki.apache.org/confluence/display/MXNET/MXNet-ONNX+Integration

Parameters
----------
Expand Down
3 changes: 2 additions & 1 deletion python/mxnet/contrib/onnx/mx2onnx/export_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ def export_model(sym, params, input_shape, input_type=np.float32,
onnx_file_path='model.onnx', verbose=False):
"""Exports the MXNet model file, passed as a parameter, into ONNX model.
Accepts both symbol,parameter objects as well as json and params filepaths as input.
Operator support and coverage - https://cwiki.apache.org/confluence/display/MXNET/ONNX
Operator support and coverage -
https://cwiki.apache.org/confluence/display/MXNET/MXNet-ONNX+Integration

Parameters
----------
Expand Down
3 changes: 2 additions & 1 deletion python/mxnet/contrib/onnx/onnx2mx/import_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@

def import_model(model_file):
"""Imports the ONNX model file, passed as a parameter, into MXNet symbol and parameters.
Operator support and coverage - https://cwiki.apache.org/confluence/display/MXNET/ONNX
Operator support and coverage -
https://cwiki.apache.org/confluence/display/MXNET/MXNet-ONNX+Integration

Parameters
----------
Expand Down
2 changes: 1 addition & 1 deletion python/mxnet/contrib/text/embedding.py
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ class GloVe(_TokenEmbedding):

License for pre-trained embeddings:

https://opendatacommons.org/licenses/pddl/
https://fedoraproject.org/wiki/Licensing/PDDL


Parameters
Expand Down
4 changes: 0 additions & 4 deletions tests/nightly/broken_link_checker_test/JenkinsfileForBLC
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,7 @@ core_logic: {
timeout(time: 60, unit: 'MINUTES') {
try {
utils.init_git()
sh 'aws s3 cp s3://mxnet-ci-prod-slave-data/url_list.txt ./tests/nightly/broken_link_checker_test/url_list.txt'
utils.docker_run('ubuntu_blc', 'broken_link_checker', false)
} finally {
sh "echo Storing the new url_list.txt to S3 bucket"
sh 'aws s3 cp ./tests/nightly/broken_link_checker_test/url_list.txt s3://mxnet-ci-prod-slave-data/url_list.txt'
}
}
}
Expand Down
5 changes: 1 addition & 4 deletions tests/nightly/broken_link_checker_test/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# Broken link checker test

This folder contains the scripts that are required to run the nightly job of checking the broken links. The job also checks whether the link that were published before are still accessible.
This folder contains the scripts that are required to run the nightly job of checking the broken links.

## JenkinsfileForBLC
This is configuration file for jenkins job.

## Details
The `broken_link_checker.sh` is a top level script that invokes the `test_broken_links.py` and `check_regression.sh` scripts.
The `test_broken_links.py` invokes broken link checker tool (blc) from nodeJs and reports the list of URLs that are not accessible.
The `check_regression.sh` scripts downloads the file `url_list.txt` that contains links that are publicly accessible from s3 bucket
The scripts merges this list with the output of `test_broken_links.py` and checks whether all those links are accessible using 'curl' command.
The updated `url_list.txt` is uploaded to s3 bucket.
3 changes: 0 additions & 3 deletions tests/nightly/broken_link_checker_test/broken_link_checker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,3 @@ echo `pwd`

echo "Running test_broken_links.py"
python test_broken_links.py

echo "Running check_regression.sh"
./check_regression.sh
46 changes: 0 additions & 46 deletions tests/nightly/broken_link_checker_test/check_regression.sh

This file was deleted.

5 changes: 3 additions & 2 deletions tests/nightly/broken_link_checker_test/test_broken_links.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ def prepare_link_test_result(command_output):
# Whitelisted broken links patterns
HTTP_403_REGEX = "(HTTP_403)"
HTTP_401_REGEX = "(HTTP_401)"
HTTP_409_REGEX = "(HTTP_409)"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need 301 and 303, as those are common redirect responses.
Or just do 3xx if you can so it ignores any kind of redirection.

BLC_UNKNOWN_REGEX = "(BLC_UNKNOWN)"
HTTP_UNDEFINED = "HTTP_undefined"
FALSE_SCALA_API_DOC_LINK = "java$lang.html"
Expand All @@ -53,8 +54,8 @@ def prepare_link_test_result(command_output):
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:
# Skip (401, 403, 409, unknown issues)
if HTTP_403_REGEX not in line and HTTP_401_REGEX not in line and HTTP_409_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"

Expand Down