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

Installation instructions for MacOS and Cloud #6012

Merged
merged 8 commits into from
May 6, 2017
Merged

Installation instructions for MacOS and Cloud #6012

merged 8 commits into from
May 6, 2017

Conversation

sandeep-krishnamurthy
Copy link
Contributor

  1. Added installation instructions for - MacOS + CPU + Python
  2. Added links to AWS AMI and CFN. MXNet on Cloud.
  3. Tested all the instructions.

Note: I am not fully happy with the size/structure of this file getting bigger and it becomes more complex to manage when we add other Programming language installation guide. I will create an issue and assign it to myself to simplify this post v0.10 doc release.

@madjam @zackchase @lxn2 - Can you please review this changes?

Copy link
Contributor

@mli mli left a comment

Choose a reason for hiding this comment

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

generally i feel is that several sections do not contain much information. such as for the docker:

  1. download docker
  2. docker pull
  3. docker run

we'd better creatively place these contents nearby the get_started home page, rather than making all of them on a separate page


The following installation instructions have been tested on OSX Sierra and El Capitan.


Copy link
Contributor

Choose a reason for hiding this comment

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

remove double space lines

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

```bash
# Install Homebrew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ export PATH=/usr/local/bin:/usr/local/sbin:$PATH
Copy link
Contributor

Choose a reason for hiding this comment

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

is it necessary? homebrew home page doesn't contain it

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes. This is a transient issue with PATH + homebrew installed packages. Setting these paths at the start of PATH, will help to make it more deterministic and fool proof.


**Step 5** Validate the installation by running simple *MXNet* code described [here](#validate-mxnet-installation).

**Note** You can read more about virtualenv [here](https://virtualenv.pypa.io/en/stable/userguide/).
Copy link
Contributor

Choose a reason for hiding this comment

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

should we use virtualenv. i don't think it is necessary given our light dependencies. we can just let user run pip install mxnet. that's, remove the virtualenv section to keep doc short

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree for now, we have only mxnet, but, I see other dependencies like jupyter, graphviz etc.. will be required. My idea is to evolve this to have a requirement file, which user can use in virtualenv to get complex mxnet environment setup in one command.

Also, for user, we are showing options in buttons, so should not complicate with length.


**Step 1** Install Docker on your machine by following the [docker installation instructions](https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-for-mac).

*Note* - You can install Community Edition (CE) to get started with *MXNet*.
Copy link
Contributor

Choose a reason for hiding this comment

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

what does it mean?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There are 2 options in docker installation page - Community Edition & Enterprise Edition, I wanted to state - Community Edition is good to start with MXNet. Maybe I should reword it?


```bash
# Make the script executable
$ sudo chmod 744 install-mxnet-osx-python.sh
Copy link
Contributor

Choose a reason for hiding this comment

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

just chmod +x xxx.sh no sudo is required. suggest to make these two as a single line to make users easier to copy

chmod +x xx.sh && ./xx.sh

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed sudo.

I agree it reduces number of times users need to copy paste. But, I felt this is more clear for user on what is being done.


</div>

</div>
Copy link
Contributor

Choose a reason for hiding this comment

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

change to </div> <!-- end of pip -->

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

</div>
</div>

<!-- END - Mac OS Python CPU Installation Instructions -->
Copy link
Contributor

Choose a reason for hiding this comment

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

not necessary if resolved the above comment


<div class="macos">
<div class="python">
<div class="gpu">
Copy link
Contributor

Choose a reason for hiding this comment

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

change to <div class="macos python gpu">. split it later if more staffs are added

Copy link
Contributor Author

@sandeep-krishnamurthy sandeep-krishnamurthy Apr 27, 2017

Choose a reason for hiding this comment

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

Right. Wanted to keep it more uniform across the page, so it is easier for new devs to modify and maintain. Also, above works like "macos && python && gpu", But, if I keep it all together it works like "macos || python || gpu", so even if some one selects linux/python or linux/gpu, this sections shows up.

$ export PATH=/usr/local/bin:/usr/local/sbin:$PATH

# Install python development tools - python2.7, pip, python-setuptools
$ brew install python
Copy link
Member

Choose a reason for hiding this comment

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

Does this one command actually install all of python, pip, and setuptools?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes.


Docker images with *MXNet* are available at [Docker Hub](https://hub.docker.com/r/mxnet/).

**Step 1** Install Docker on your machine by following the [docker installation instructions](https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-for-mac).
Copy link
Member

Choose a reason for hiding this comment

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

What do you think about installing docker with homebrew? That way we have one more requirement that we can give concrete commands for.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Makes sense but I think with homebrew we get DockerToolbox. I felt, Docker installation page for mac is pretty simple - download and install dmg file. hence redirected users there.

@lxn2
Copy link
Member

lxn2 commented Apr 27, 2017

Looks good to me. I like the way it's currently organized with docker/virtualenv/build from source. Though possibly the virtualenv & pip instructions are almost identical and I wonder if both are necessary.

@sandeep-krishnamurthy
Copy link
Contributor Author

sandeep-krishnamurthy commented Apr 27, 2017

Thanks Mu and Ly.

Fixed Comments by Mu and Ly.

@mli - I agree Re-arranging helps to reduce the content size, but, for automated testing and maintaining this page would be harder.
For users, it looks simpler. But, as I mentioned earlier and discussed with you offline - I am not fully happy with this big file. I will create an issue and assign it to myself. To better organize content on this page. I will take it up post v0.10 release. As this is solving the customers problem. I think we are good to go for this release and optimize it later.

@lxn2
Copy link
Member

lxn2 commented May 1, 2017

@mli if this looks good can you merge it? I am almost done with the test script for this and hope to add a Jenkins job by end of today or tomorrow.

@sandeep-krishnamurthy
Copy link
Contributor Author

sandeep-krishnamurthy commented May 3, 2017

@zackchase @madjam - Can you please review this PR?

@piiswrong
Copy link
Contributor

This is too long. Its as simple as a pip install mxnet for most users and that's the whole point. We shouldn't make it appear more complicated than it is.

We should keep the original one sentence instruction. You can put this in a trouble shooting page if necessary.

@piiswrong
Copy link
Contributor

I'll merge this first since I don't see it being linked to from any page. but we need to clean it up later.

@piiswrong piiswrong merged commit b0aa761 into apache:master May 6, 2017
@sandeep-krishnamurthy
Copy link
Contributor Author

@piiswrong - I agree source is too long and I had same thoughts in my PR description. However, when it renders, I felt it is very easy and complete for readers to install required pre-requistes, mxnet and at the end test with a small code snippet.

Can you please go through the instructions here - http://mxnet.io/get_started/install.html and let me know if you think it is complicated for readers to install and get started. I can take it up for simplification.

We can have in home page just one line - pip install mxnet and one line docker image command.

bikestra pushed a commit to bikestra/mxnet that referenced this pull request May 10, 2017
rishita pushed a commit to rishita/mxnet that referenced this pull request May 10, 2017
piiswrong pushed a commit that referenced this pull request May 11, 2017
* updated docstring for set_lr_mult and set_wd_mult

* updated docstring per review

* Fixed imdecode crash bug when flag=0 (#6134)

* Fix (#6131)

* Docs for MXRecordIO, MXIndexedRecordIO modified (#6013)

* docs for MXIndexedRecordIO modified

* changes after review

* recordIO doc modified

* changes after review

* lint error

* minor change

* minor change after review

* empty commit to retrigger build

* changes after review

* Update documentation for mx.callback.Speedometer. (#6058)

* Update documentation for mx.callback.Speedometer.

* Minor doc changes.

* Use module instead of model in example code.

* update doc for Load (#6092)

* Installation instructions for MacOS and Cloud (#6012)

* Fix NDArray bool checking (#6130)

* fix shape order bug (#6136)

* TOC click unfold (#6133)

* [doc] new sphnix plugin  (#6105)

* update doc

* rm

* update

* update ndarray

* update mds

* update

* update

* update

* update

* update

* update

* update image.md and others

* update

* [doc] use debug mode to build (#6151)

* move ctc loss to contrib (#6154)

* Fix for invalid numpy float indexing (#6144)

* Fix python3 compatibilities (#6143)

* [doc] small changes to tutorials (#6164)

* [doc] Fix left toc link (#6162)

* [example]ADD practical functions and options for speech_recognition example (#6141)

* ADD practical functions and options for speech_recognition example

* add missing stt_bi_graphemes_util.py and deepspeech.cfg template

* Added reflection padding (#6123)

* Added reflection padding

* Lint fix

* Added 5d reflection padding

* Added failure in forward/backward for input dimensions other than 4 of 5

* Improved sanity check readability

* Fixing LICENSE file and adding NOTICE (#6172)

* Creating NOTICE. 

When code moves to Apache, it will need adjusting to the Apache format.

* Replacing source header with full license text

* doc improvement - softmax, metrics, and initializer (#5945)

* doc improvement, softmaxoutput, initializer-constant, minor fixes

* doc improvement, metrics

* fix softmax doc, fix metric lint

* softmax more fixes

* add doc change in initializer.py. some minor fix in softmax_cross_entropy

* doc change in initializer.py

* fix grammer

* fix

* fix

* fix

* minor fix

* fix

* minor fix

* DataBatch and NDArrayIter doc modified (#6091)

* DataBatch and NDArrayIter doc modified

* fixes after review

* fixes after review

* wording changed

* some more fixes

* improvement

* desc fix

* Datadesc info added

* minor addition

* fix

* fix

* fix after review

* [Scala] Change version to 0.9.5-SNAPSHOT (#6173)

* [scala] change version to 0.9.5-SNAPSHOT

* API doc improvement Dropout and SoftmaxActivation (#6088)

* doc improve for dropout oper

* doc improve for SoftmaxActivation oper

* fix

* fix

* Update documentation for mx.callback.do_checkpoint (#6059)

* Update documentation for mx.callback.do_checkpoint

* Use module instead of model for example code.

* Update documentation for plot_graph. (#6098)

* Update documentation for plot_graph.

* Minor doc fix.

* Restruct get started (#6167)

* Change get started page

* Small fix

* Improve

* Update documentation of Initializer.dumps() (#6128)

* Doc Improvement - RMSProp and RMSPropAlex (#6107)

* rmsprop

* rmsprop alex

* add link in optimizer.py

* fix

* fix

* missed fix..

* Docforcs,fft,ifft (#6145)

* fft.cc

* add all

* changed the description of set_lr_mult and set_wd_mult

* Explicitly specify quiet in R install_version (#6171)
saurabh3949 pushed a commit to saurabh3949/mxnet that referenced this pull request May 23, 2017
saurabh3949 pushed a commit to saurabh3949/mxnet that referenced this pull request May 23, 2017
* updated docstring for set_lr_mult and set_wd_mult

* updated docstring per review

* Fixed imdecode crash bug when flag=0 (apache#6134)

* Fix (apache#6131)

* Docs for MXRecordIO, MXIndexedRecordIO modified (apache#6013)

* docs for MXIndexedRecordIO modified

* changes after review

* recordIO doc modified

* changes after review

* lint error

* minor change

* minor change after review

* empty commit to retrigger build

* changes after review

* Update documentation for mx.callback.Speedometer. (apache#6058)

* Update documentation for mx.callback.Speedometer.

* Minor doc changes.

* Use module instead of model in example code.

* update doc for Load (apache#6092)

* Installation instructions for MacOS and Cloud (apache#6012)

* Fix NDArray bool checking (apache#6130)

* fix shape order bug (apache#6136)

* TOC click unfold (apache#6133)

* [doc] new sphnix plugin  (apache#6105)

* update doc

* rm

* update

* update ndarray

* update mds

* update

* update

* update

* update

* update

* update

* update image.md and others

* update

* [doc] use debug mode to build (apache#6151)

* move ctc loss to contrib (apache#6154)

* Fix for invalid numpy float indexing (apache#6144)

* Fix python3 compatibilities (apache#6143)

* [doc] small changes to tutorials (apache#6164)

* [doc] Fix left toc link (apache#6162)

* [example]ADD practical functions and options for speech_recognition example (apache#6141)

* ADD practical functions and options for speech_recognition example

* add missing stt_bi_graphemes_util.py and deepspeech.cfg template

* Added reflection padding (apache#6123)

* Added reflection padding

* Lint fix

* Added 5d reflection padding

* Added failure in forward/backward for input dimensions other than 4 of 5

* Improved sanity check readability

* Fixing LICENSE file and adding NOTICE (apache#6172)

* Creating NOTICE. 

When code moves to Apache, it will need adjusting to the Apache format.

* Replacing source header with full license text

* doc improvement - softmax, metrics, and initializer (apache#5945)

* doc improvement, softmaxoutput, initializer-constant, minor fixes

* doc improvement, metrics

* fix softmax doc, fix metric lint

* softmax more fixes

* add doc change in initializer.py. some minor fix in softmax_cross_entropy

* doc change in initializer.py

* fix grammer

* fix

* fix

* fix

* minor fix

* fix

* minor fix

* DataBatch and NDArrayIter doc modified (apache#6091)

* DataBatch and NDArrayIter doc modified

* fixes after review

* fixes after review

* wording changed

* some more fixes

* improvement

* desc fix

* Datadesc info added

* minor addition

* fix

* fix

* fix after review

* [Scala] Change version to 0.9.5-SNAPSHOT (apache#6173)

* [scala] change version to 0.9.5-SNAPSHOT

* API doc improvement Dropout and SoftmaxActivation (apache#6088)

* doc improve for dropout oper

* doc improve for SoftmaxActivation oper

* fix

* fix

* Update documentation for mx.callback.do_checkpoint (apache#6059)

* Update documentation for mx.callback.do_checkpoint

* Use module instead of model for example code.

* Update documentation for plot_graph. (apache#6098)

* Update documentation for plot_graph.

* Minor doc fix.

* Restruct get started (apache#6167)

* Change get started page

* Small fix

* Improve

* Update documentation of Initializer.dumps() (apache#6128)

* Doc Improvement - RMSProp and RMSPropAlex (apache#6107)

* rmsprop

* rmsprop alex

* add link in optimizer.py

* fix

* fix

* missed fix..

* Docforcs,fft,ifft (apache#6145)

* fft.cc

* add all

* changed the description of set_lr_mult and set_wd_mult

* Explicitly specify quiet in R install_version (apache#6171)
@sandeep-krishnamurthy sandeep-krishnamurthy deleted the macos-cloud-cpu-python branch August 15, 2017 16:45
Guneet-Dhillon pushed a commit to Guneet-Dhillon/mxnet that referenced this pull request Sep 13, 2017
Guneet-Dhillon pushed a commit to Guneet-Dhillon/mxnet that referenced this pull request Sep 13, 2017
* updated docstring for set_lr_mult and set_wd_mult

* updated docstring per review

* Fixed imdecode crash bug when flag=0 (apache#6134)

* Fix (apache#6131)

* Docs for MXRecordIO, MXIndexedRecordIO modified (apache#6013)

* docs for MXIndexedRecordIO modified

* changes after review

* recordIO doc modified

* changes after review

* lint error

* minor change

* minor change after review

* empty commit to retrigger build

* changes after review

* Update documentation for mx.callback.Speedometer. (apache#6058)

* Update documentation for mx.callback.Speedometer.

* Minor doc changes.

* Use module instead of model in example code.

* update doc for Load (apache#6092)

* Installation instructions for MacOS and Cloud (apache#6012)

* Fix NDArray bool checking (apache#6130)

* fix shape order bug (apache#6136)

* TOC click unfold (apache#6133)

* [doc] new sphnix plugin  (apache#6105)

* update doc

* rm

* update

* update ndarray

* update mds

* update

* update

* update

* update

* update

* update

* update image.md and others

* update

* [doc] use debug mode to build (apache#6151)

* move ctc loss to contrib (apache#6154)

* Fix for invalid numpy float indexing (apache#6144)

* Fix python3 compatibilities (apache#6143)

* [doc] small changes to tutorials (apache#6164)

* [doc] Fix left toc link (apache#6162)

* [example]ADD practical functions and options for speech_recognition example (apache#6141)

* ADD practical functions and options for speech_recognition example

* add missing stt_bi_graphemes_util.py and deepspeech.cfg template

* Added reflection padding (apache#6123)

* Added reflection padding

* Lint fix

* Added 5d reflection padding

* Added failure in forward/backward for input dimensions other than 4 of 5

* Improved sanity check readability

* Fixing LICENSE file and adding NOTICE (apache#6172)

* Creating NOTICE. 

When code moves to Apache, it will need adjusting to the Apache format.

* Replacing source header with full license text

* doc improvement - softmax, metrics, and initializer (apache#5945)

* doc improvement, softmaxoutput, initializer-constant, minor fixes

* doc improvement, metrics

* fix softmax doc, fix metric lint

* softmax more fixes

* add doc change in initializer.py. some minor fix in softmax_cross_entropy

* doc change in initializer.py

* fix grammer

* fix

* fix

* fix

* minor fix

* fix

* minor fix

* DataBatch and NDArrayIter doc modified (apache#6091)

* DataBatch and NDArrayIter doc modified

* fixes after review

* fixes after review

* wording changed

* some more fixes

* improvement

* desc fix

* Datadesc info added

* minor addition

* fix

* fix

* fix after review

* [Scala] Change version to 0.9.5-SNAPSHOT (apache#6173)

* [scala] change version to 0.9.5-SNAPSHOT

* API doc improvement Dropout and SoftmaxActivation (apache#6088)

* doc improve for dropout oper

* doc improve for SoftmaxActivation oper

* fix

* fix

* Update documentation for mx.callback.do_checkpoint (apache#6059)

* Update documentation for mx.callback.do_checkpoint

* Use module instead of model for example code.

* Update documentation for plot_graph. (apache#6098)

* Update documentation for plot_graph.

* Minor doc fix.

* Restruct get started (apache#6167)

* Change get started page

* Small fix

* Improve

* Update documentation of Initializer.dumps() (apache#6128)

* Doc Improvement - RMSProp and RMSPropAlex (apache#6107)

* rmsprop

* rmsprop alex

* add link in optimizer.py

* fix

* fix

* missed fix..

* Docforcs,fft,ifft (apache#6145)

* fft.cc

* add all

* changed the description of set_lr_mult and set_wd_mult

* Explicitly specify quiet in R install_version (apache#6171)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants