Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Staging to master to add xlearn #973

Merged
merged 184 commits into from
Dec 20, 2019
Merged
Show file tree
Hide file tree
Changes from 155 commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
c01a7fc
NOTEBOOK: add skeleton of fm + xlearn notebook
Aug 30, 2019
26ba382
NOTEBOOK: add details about FM algorithm
yueguoguo Aug 30, 2019
bcb86c4
SCRIPT: add xlearn
yueguoguo Aug 30, 2019
8a09ebf
NOTEBOOK: add xlearn example
yueguoguo Aug 30, 2019
62a8120
NOTEBOOK: add fm implementation in xdeepfm
yueguoguo Aug 30, 2019
5286ef7
NOTEBOOK: add FM explanation
yueguoguo Sep 1, 2019
86b8667
NOTEBOOK: finish xlearn ffm notebook
yueguoguo Sep 1, 2019
372d552
NOTEBOOK: add libffm converter
yueguoguo Sep 1, 2019
82c7c33
NOTEBOOK: minor update
yueguoguo Sep 1, 2019
b069b82
NOTEBOOK: add text to precise explain FM
yueguoguo Sep 3, 2019
3d43516
NOTEBOOK: add reference links to algorithms
yueguoguo Sep 3, 2019
2184788
TEST: install cmake in aml test
yueguoguo Sep 5, 2019
42002f1
Merge branch 'staging' into le_xlearn
yueguoguo Sep 5, 2019
83a1c9f
SCRIPT: add cmake install
yueguoguo Sep 5, 2019
288e1d4
NOTEBOOK: user Timer
yueguoguo Sep 5, 2019
0712f8f
TEST: remove subprocess
yueguoguo Sep 5, 2019
3021bc7
SCRIPT: fix issue
yueguoguo Sep 5, 2019
9375621
SCRIPT: conda install cmake
yueguoguo Sep 6, 2019
f47bed5
Merge branch 'staging' into le_xlearn
yueguoguo Sep 9, 2019
5d80dd1
DOCKER: add cmake install
yueguoguo Sep 9, 2019
4e85c3a
DOCKER: add cmake
yueguoguo Sep 9, 2019
1dcd6c7
TEST: use custom docker
yueguoguo Sep 9, 2019
bc7fcd2
TEST: add customer docker
yueguoguo Sep 9, 2019
4f3d2b3
TEST: remove irrelevant codes
yueguoguo Sep 9, 2019
e0bc2e4
TEST: add test argument
yueguoguo Sep 10, 2019
ca42414
Merge branch 'staging' into le_xlearn
yueguoguo Sep 10, 2019
518b05b
DOCKER: update cmake
yueguoguo Sep 11, 2019
fd511d4
DOCKER: update
yueguoguo Sep 11, 2019
9323fa9
NOTEBOOK: update notebook with parameter
yueguoguo Sep 16, 2019
0e4e063
TEST: add xlearn import just for testing
yueguoguo Sep 16, 2019
b8e207f
TEST: remove xlearn testing
yueguoguo Sep 16, 2019
e0ac6a2
NOTEBOOK: update fm notebook
yueguoguo Sep 17, 2019
7b87f5a
TEST: update:
yueguoguo Oct 9, 2019
137c2c8
Migrates using Image to using Environment in the o16n notebook
Chris113113 Oct 25, 2019
ded3d4f
Minimizes output
Chris113113 Oct 25, 2019
3dcd556
Updates some imports in the notebook
Chris113113 Oct 28, 2019
a90bcdb
Merge pull request #964 from Chris113113/chpirill/migrate_image_to_en…
miguelgfierro Oct 28, 2019
72cb752
changing azureml version to the latest one :boom::boom::boom::boom: f…
miguelgfierro Oct 29, 2019
842fbfd
azure-mgmt-cosmosdb
miguelgfierro Oct 29, 2019
acab9ce
wip
miguelgfierro Oct 29, 2019
b43ced8
wip
miguelgfierro Oct 29, 2019
d68e471
:bug:
miguelgfierro Oct 29, 2019
a2cd8a5
recs topk
miguelgfierro Oct 29, 2019
ae17c1a
:bug:
miguelgfierro Oct 29, 2019
61728d8
:bug:
miguelgfierro Oct 29, 2019
2c1e8a9
Merge branch 'staging' into le_xlearn
yueguoguo Oct 30, 2019
db37ac4
NOTEBOOK: update notebook
yueguoguo Oct 30, 2019
6a2c467
SCRIPT: fix syntax issue
yueguoguo Oct 30, 2019
9792ccc
adjustment of notebook for ignite
gramhagen Oct 30, 2019
146b235
removing uuid cleanup sparml script
gramhagen Oct 31, 2019
a6db36b
small fixes to als o16n notebook for ignite
gramhagen Oct 31, 2019
fca9b45
Update nightly_gpu.yml for Azure Pipelines
yueguoguo Nov 1, 2019
e510a7d
Merge pull request #909 from microsoft/le_xlearn
yueguoguo Nov 1, 2019
376bc95
Fix notebook:
loomlike Nov 2, 2019
ef64a4f
Add exception handle
loomlike Nov 2, 2019
cc509f7
notebook update
loomlike Nov 2, 2019
9262ff2
Update als_movie_o16n.ipynb
miguelgfierro Nov 4, 2019
8b09e74
Merge pull request #969 from microsoft/ignite-fix
miguelgfierro Nov 4, 2019
9fba7af
TEST: revert to the old aml test pipeline yeaml
yueguoguo Nov 5, 2019
b51a591
Go-around cosmosDB writing issue
loomlike Nov 5, 2019
dde228f
Merge pull request #971 from microsoft/le_aml_test
yueguoguo Nov 7, 2019
39096ec
Merge branch 'master' into staging
miguelgfierro Nov 12, 2019
2ff4bab
small changes in xlearn notebook
miguelgfierro Nov 13, 2019
229d327
tests :boom:
miguelgfierro Nov 13, 2019
260d9ec
Merge pull request #974 from microsoft/miguel/test_xlearn
miguelgfierro Nov 14, 2019
7088d53
hiding azureml bagde status until it is finished
miguelgfierro Nov 14, 2019
ee4d127
changed badges linux
miguelgfierro Nov 14, 2019
b291cf4
updated windows badges
miguelgfierro Nov 15, 2019
a29d956
jobs
miguelgfierro Nov 15, 2019
0ded53d
jobs
miguelgfierro Nov 15, 2019
b3e9842
jobs
miguelgfierro Nov 15, 2019
09d9556
duration
miguelgfierro Nov 15, 2019
48217b1
:bug:
miguelgfierro Nov 15, 2019
2aeff02
:bug:
miguelgfierro Nov 15, 2019
baf866f
Merge pull request #978 from microsoft/miguel/badges
miguelgfierro Nov 15, 2019
8212d23
:bug:
miguelgfierro Nov 15, 2019
d2a2cd3
:bug:
miguelgfierro Nov 15, 2019
a6ea4ea
trying to change durations
miguelgfierro Nov 15, 2019
dde2355
taaaaab
miguelgfierro Nov 15, 2019
cdb7481
taaaaab
miguelgfierro Nov 15, 2019
f609b1a
taaaaab
miguelgfierro Nov 15, 2019
2fb72e2
Update dsvm_nightly_linux_cpu.yml
miguelgfierro Nov 20, 2019
51c7fa8
ignite notebook refactor
loomlike Nov 21, 2019
de9b89d
Change the description of metrics
anargyri Nov 21, 2019
f0f4ff5
Update Spark SETUP doc
loomlike Nov 21, 2019
752917c
Merge pull request #981 from microsoft/Description-of-metrics
miguelgfierro Nov 21, 2019
239acc9
Merge pull request #980 from microsoft/miguel/test_jobs
miguelgfierro Nov 22, 2019
0ee593b
Update generate_conda_file.py
dciborow Nov 25, 2019
85c9d2f
Merge pull request #983 from microsoft/dciborow/fastai-bug
miguelgfierro Nov 25, 2019
8b39265
Merge pull request #982 from microsoft/loomlike/update-spark-setup
miguelgfierro Nov 25, 2019
cffd966
Merge branch 'master' into staging
miguelgfierro Nov 25, 2019
32aaa18
if exist delete
miguelgfierro Nov 26, 2019
e7695f5
updating PR template to make sure people are doing PR to staging rath…
miguelgfierro Nov 26, 2019
3e8686c
Merge pull request #986 from microsoft/miguelgfierro-patch-1
miguelgfierro Nov 27, 2019
c92be2c
Merge pull request #985 from microsoft/miguel/bug_windows_erase_folder
miguelgfierro Nov 27, 2019
c546260
:bug:
miguelgfierro Nov 27, 2019
a3ea63f
:bug:
miguelgfierro Nov 27, 2019
2c12016
speeding up tests
miguelgfierro Nov 27, 2019
f7cf011
Merge pull request #988 from microsoft/miguel/bug_dsvm_notebook_spark
miguelgfierro Nov 28, 2019
874c566
trigger tests
miguelgfierro Nov 28, 2019
11b52f4
trigger tests
miguelgfierro Nov 28, 2019
c07d65b
:bug:
miguelgfierro Nov 29, 2019
8966875
:bug:
miguelgfierro Nov 29, 2019
6b73c7c
run notebook
miguelgfierro Nov 29, 2019
15f25bc
added timer from the utils
miguelgfierro Nov 29, 2019
712e4d8
matching results from standard notebook
miguelgfierro Nov 29, 2019
a8c9bf2
Update README.md
miguelgfierro Nov 29, 2019
0b8bdd9
:bug:
miguelgfierro Nov 29, 2019
0eb5c2b
Merge branch 'miguel/bug_sar_azureml' of github.com:Microsoft/Recomme…
miguelgfierro Nov 29, 2019
453b880
Merge pull request #991 from microsoft/miguel/bug_sar_azureml
miguelgfierro Dec 1, 2019
86aa40f
force to remove the conda env always in the nightly builds
miguelgfierro Dec 3, 2019
96a6a17
Update README.md
dciborow Dec 4, 2019
7e6e1bf
Merge pull request #996 from microsoft/dciborow/readme-update
miguelgfierro Dec 4, 2019
63a331d
Merge pull request #994 from microsoft/miguel/nightly_continue_on_error
miguelgfierro Dec 4, 2019
e87e355
Update dsvm_nightly_linux_cpu.yml for Azure Pipelines
dciborow Dec 4, 2019
b1c72d5
Update dsvm_nightly_linux_cpu.yml for Azure Pipelines
dciborow Dec 4, 2019
cdb5f02
Dehard coding agent pools
dciborow Dec 4, 2019
206667a
fix typo
dciborow Dec 4, 2019
156b22c
Update generate_conda_file.py
miguelgfierro Dec 4, 2019
3d9069e
Update generate_conda_file.py
miguelgfierro Dec 4, 2019
51ca416
Merge pull request #998 from microsoft/dciborow/cicd
miguelgfierro Dec 5, 2019
bb78a79
Update fm_deep_dive.ipynb
miguelgfierro Dec 5, 2019
4da8ee5
Update fm_deep_dive.ipynb
miguelgfierro Dec 5, 2019
e545f3f
Merge pull request #1001 from microsoft/miguelgfierro-patch-1
miguelgfierro Dec 5, 2019
00dc429
Merge pull request #999 from microsoft/miguel/deps
miguelgfierro Dec 5, 2019
a3932e3
Using template to install Conda
dciborow Dec 6, 2019
705cede
Fix Formatting Typo
dciborow Dec 6, 2019
ecaee73
Fix Formatting Typo
dciborow Dec 6, 2019
d8bad25
Fix Formatting Typo
dciborow Dec 6, 2019
bc79e5f
clean conda template
dciborow Dec 6, 2019
7c9cca1
clean conda template win
dciborow Dec 6, 2019
d55e8ad
forgot to add repo link in some files
dciborow Dec 6, 2019
52cd2f8
merge ignite branch with cosmosdb write fix
loomlike Dec 7, 2019
38f887e
Merge branch 'staging' into jumin/o16n_merge
loomlike Dec 7, 2019
b1694ae
added schedulers from yaml file
miguelgfierro Dec 9, 2019
12274a9
ALS o16n Fig link fix
loomlike Dec 9, 2019
58e09e8
Merge pull request #1003 from microsoft/jumin/o16n_merge
miguelgfierro Dec 9, 2019
272c115
Update dsvm_nightly_linux_cpu.yml
miguelgfierro Dec 9, 2019
d18bc1a
Update fm_deep_dive.ipynb
anargyri Dec 10, 2019
667d3a6
Update README.md
miguelgfierro Dec 10, 2019
0506064
Update dsvm_nightly_linux_cpu.yml
dciborow Dec 10, 2019
da90608
Update dsvm_nightly_linux_gpu.yml
dciborow Dec 10, 2019
60d3840
Update dsvm_nightly_linux_pyspark.yml
dciborow Dec 10, 2019
8285922
Update dsvm_nightly_win_gpu.yml
dciborow Dec 10, 2019
2189c73
Update dsvm_nightly_linux_pyspark.yml
dciborow Dec 10, 2019
9945e29
Update dsvm_nightly_win_cpu.yml
dciborow Dec 10, 2019
43152e3
Update dsvm_nightly_win_pyspark.yml
dciborow Dec 10, 2019
bbd4136
Merge pull request #1005 from microsoft/dciborow/cron_tasks
miguelgfierro Dec 10, 2019
f80ea73
Updating readme
dciborow Dec 10, 2019
216d558
Merge pull request #1004 from microsoft/miguel/cron_tasks
miguelgfierro Dec 10, 2019
1a4937d
Merge branch 'staging' into dciborow/conda_install_template
miguelgfierro Dec 10, 2019
21d3201
DOCKER: remove explicit installation of cmake
yueguoguo Dec 10, 2019
8240bb7
NOTEBOOK: revise text in the notebook
yueguoguo Dec 10, 2019
ba2a20d
Merge pull request #1006 from microsoft/le_xlearn
miguelgfierro Dec 10, 2019
1b165bb
Merge pull request #1002 from microsoft/dciborow/conda_install_template
miguelgfierro Dec 10, 2019
7e9aaf9
fix for Issue #970
elogicaadith Dec 12, 2019
fb8b777
Update from MSRA: add sequential recommender models to deeprec
Leavingseason Dec 13, 2019
ba8aa10
update notebook
Leavingseason Dec 13, 2019
c4ba08f
Fix for issue #970 - model directory obtained by using os.path.join
elogicaadith Dec 16, 2019
28e4a7e
correct bugs; update notebook; add integration test
Leavingseason Dec 16, 2019
bf3e2bb
update notebook
Leavingseason Dec 16, 2019
a53e576
Merge pull request #1011 from elogicaadith/staging
miguelgfierro Dec 16, 2019
d8616e3
update notebook: add CUP time
Leavingseason Dec 17, 2019
d64ebb2
Merge pull request #1010 from microsoft/sequentialrecsys
miguelgfierro Dec 18, 2019
0434d1b
docs
miguelgfierro Dec 18, 2019
c539d1c
docs
miguelgfierro Dec 18, 2019
1bab011
docs
miguelgfierro Dec 18, 2019
0eaa4b6
docs
miguelgfierro Dec 18, 2019
996d290
docs
miguelgfierro Dec 18, 2019
9cd26ab
Update sequential_recsys_amazondataset.ipynb
miguelgfierro Dec 18, 2019
df7d3b0
correct misspells
Leavingseason Dec 19, 2019
28b9c4b
correct misspells
Leavingseason Dec 19, 2019
9812309
revert to previous yamls
miguelgfierro Dec 19, 2019
8ddde5b
:bug:
miguelgfierro Dec 19, 2019
2e50fc2
:bug:
miguelgfierro Dec 19, 2019
f674ebf
Merge pull request #1015 from microsoft/miguel/docs_sequential
miguelgfierro Dec 19, 2019
07ba7b4
Merge branch 'staging' into provisional_fix
miguelgfierro Dec 19, 2019
a1d2c5b
Merge branch 'master' into staging
miguelgfierro Dec 19, 2019
fe2e3ab
Merge branch 'staging' into provisional_fix
miguelgfierro Dec 19, 2019
232dc82
update model save path string
Leavingseason Dec 20, 2019
c09a882
Merge branch 'staging' into msra/sequential
miguelgfierro Dec 20, 2019
68aba5e
Merge pull request #1019 from microsoft/provisional_fix
miguelgfierro Dec 20, 2019
99f7276
Merge branch 'staging' into msra/sequential
miguelgfierro Dec 20, 2019
919b99b
Merge pull request #1017 from microsoft/msra/sequential
miguelgfierro Dec 20, 2019
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
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] I have followed the [contribution guidelines](../CONTRIBUTING.md) and code style for this project.
- [ ] I have added tests covering my contributions.
- [ ] I have updated the documentation accordingly.
- [ ] I have updated the documentation accordingly.
- [ ] This PR is being made to `staging` and not `master`.
miguelgfierro marked this conversation as resolved.
Show resolved Hide resolved
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,14 @@ The following tests run on a Windows and Linux DSVM daily. These machines run 24

| Build Type | Branch | Status | | Branch | Status |
| --- | --- | --- | --- | --- | --- |
| **Linux CPU** | master | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly?branchName=master)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=4792) | | staging | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_staging?branchName=staging)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=4594) |
| **Linux GPU** | master | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_gpu?branchName=master)](https://msdata.visualstudio.com/DefaultCollection/AlgorithmsAndDataScience/_build/latest?definitionId=4997) | | staging | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_gpu_staging?branchName=staging)](https://msdata.visualstudio.com/DefaultCollection/AlgorithmsAndDataScience/_build/latest?definitionId=4998) |
| **Linux Spark** | master | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_spark?branchName=master)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=4804) | | staging | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/Recommenders/nightly_spark_staging)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=5186) |
| **Windows CPU** | master | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_win?branchName=master)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=6743) | | staging | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_staging_win?branchName=staging)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=6752) |
| **Windows GPU** | master | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_gpu_win?branchName=master)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=6756) | | staging | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_gpu_staging_win?branchName=staging)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=6761) |
| **Windows Spark** | master | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_spark_win?branchName=master)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=6757) | | staging | [![Status](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_apis/build/status/nightly_spark_staging_win?branchName=staging)](https://msdata.visualstudio.com/AlgorithmsAndDataScience/_build/latest?definitionId=6754) |

| **Linux CPU** | master | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/linux-tests/dsvm_nightly_linux_cpu?branchName=master)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=67&branchName=master) | | staging | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/linux-tests/dsvm_nightly_linux_cpu?branchName=staging)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=67&branchName=staging) |
| **Linux GPU** | master | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/linux-tests/dsvm_nightly_linux_gpu?branchName=master)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=85&branchName=master) | | staging | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/linux-tests/dsvm_nightly_linux_gpu?branchName=staging)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=85&branchName=staging) |
| **Linux Spark** | master | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/linux-tests/dsvm_nightly_linux_pyspark?branchName=master)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=86&branchName=master) | | staging | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/linux-tests/dsvm_nightly_linux_pyspark?branchName=staging)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=86&branchName=staging) |
| **Windows CPU** | master | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/windows-tests/dsvm_nightly_win_cpu?branchName=master)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=101&branchName=master) | | staging | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/windows-tests/dsvm_nightly_win_cpu?branchName=staging)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=101&branchName=staging) |
| **Windows GPU** | master | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/windows-tests/dsvm_nightly_win_gpu?branchName=master)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=102&branchName=master) | | staging | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/windows-tests/dsvm_nightly_win_gpu?branchName=staging)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=102&branchName=staging) |
| **Windows Spark** | master | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/windows-tests/dsvm_nightly_win_pyspark?branchName=master)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=103&branchName=master) | | staging | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/windows-tests/dsvm_nightly_win_pyspark?branchName=staging)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=103&branchName=staging) |

<!-- Hiding AzureML build status for the moment
### AzureML Build Status

The following tests run on an AzureML [compute target](https://docs.microsoft.com/en-us/azure/machine-learning/service/concept-compute-target). AzureML allows to programmatically start a virtual machine, execute the tests, gather the results in [Azure DevOps](https://azure.microsoft.com/en-gb/services/devops/) and shut down the machine.
Expand All @@ -113,9 +114,9 @@ The following tests run on an AzureML [compute target](https://docs.microsoft.co
| --- | --- | --- | --- | --- | --- |
| **nightly_cpu_tests** | master | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/nightly_cpu_tests?branchName=master)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=25&branchName=master) | | Staging | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/nightly_cpu_tests?branchName=staging)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=25&branchName=staging) |
| **nightly_gpu_tests** | master | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/bp-nightly_gpu_tests?branchName=master)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=5&branchName=master) | | Staging | [![Build Status](https://dev.azure.com/best-practices/recommenders/_apis/build/status/bp-nightly_gpu_tests?branchName=staging)](https://dev.azure.com/best-practices/recommenders/_build/latest?definitionId=5&branchName=staging) |
-->

### Related projects


[Microsoft AI Labs Github](https://aka.ms/ai-labs) Find other Best Practice projects, and Azure AI design patterns in our central repository.
[Microsoft AI Github](https://github.com/microsoft/ai): Find other Best Practice projects, and Azure AI design patterns in our central repository.

130 changes: 69 additions & 61 deletions SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,73 @@ To install the PySpark environment:
python scripts/generate_conda_file.py --pyspark
conda env create -f reco_pyspark.yaml

Additionally, if you want to test a particular version of spark, you may pass the --pyspark-version argument:
> Additionally, if you want to test a particular version of spark, you may pass the --pyspark-version argument:
>
> python scripts/generate_conda_file.py --pyspark-version 2.4.0

Then, we need to set the environment variables `PYSPARK_PYTHON` and `PYSPARK_DRIVER_PYTHON` to point to the conda python executable.

Click on the following menus to see details:
<details>
<summary><strong><em>Linux or MacOS</em></strong></summary>

To set these variables every time the environment is activated, we can follow the steps of this [guide](https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux).
First, get the path of the environment `reco_pyspark` is installed:

RECO_ENV=$(conda env list | grep reco_pyspark | awk '{print $NF}')

Then, create the file `$RECO_ENV/etc/conda/activate.d/env_vars.sh` and add:

#!/bin/sh
RECO_ENV=$(conda env list | grep reco_pyspark | awk '{print $NF}')
export PYSPARK_PYTHON=$RECO_ENV/bin/python
export PYSPARK_DRIVER_PYTHON=$RECO_ENV/bin/python
export SPARK_HOME_BACKUP=$SPARK_HOME
unset SPARK_HOME

This will export the variables every time we do `conda activate reco_pyspark`.
To unset these variables when we deactivate the environment,
create the file `$RECO_ENV/etc/conda/deactivate.d/env_vars.sh` and add:

#!/bin/sh
unset PYSPARK_PYTHON
unset PYSPARK_DRIVER_PYTHON
export SPARK_HOME=$SPARK_HOME_BACKUP
unset SPARK_HOME_BACKUP

</details>

python scripts/generate_conda_file.py --pyspark-version 2.4.0
<details><summary><strong><em>Windows</em></strong></summary>

To set these variables every time the environment is activated, we can follow the steps of this [guide](https://conda.io/docs/user-guide/tasks/manage-environments.html#windows).
First, get the path of the environment `reco_pyspark` is installed:

for /f "delims=" %A in ('conda env list ^| grep reco_pyspark ^| awk "{print $NF}"') do set "RECO_ENV=%A"

Then, create the file `%RECO_ENV%\etc\conda\activate.d\env_vars.bat` and add:

@echo off
for /f "delims=" %%A in ('conda env list ^| grep reco_pyspark ^| awk "{print $NF}"') do set "RECO_ENV=%%A"
set PYSPARK_PYTHON=%RECO_ENV%\python.exe
set PYSPARK_DRIVER_PYTHON=%RECO_ENV%\python.exe
set SPARK_HOME_BACKUP=%SPARK_HOME%
set SPARK_HOME=
set PYTHONPATH_BACKUP=%PYTHONPATH%
set PYTHONPATH=

This will export the variables every time we do `conda activate reco_pyspark`.
To unset these variables when we deactivate the environment,
create the file `%RECO_ENV%\etc\conda\deactivate.d\env_vars.bat` and add:

@echo off
set PYSPARK_PYTHON=
set PYSPARK_DRIVER_PYTHON=
set SPARK_HOME=%SPARK_HOME_BACKUP%
set SPARK_HOME_BACKUP=
set PYTHONPATH=%PYTHONPATH_BACKUP%
set PYTHONPATH_BACKUP=

</details>

</details>

Expand All @@ -97,68 +161,12 @@ To install the environment:
python scripts/generate_conda_file.py --gpu --pyspark
conda env create -f reco_full.yaml

Then, we need to set the environment variables `PYSPARK_PYTHON` and `PYSPARK_DRIVER_PYTHON` to point to the conda python executable.
See **PySpark environment** setup section for the details about how to setup those variables.
where you will need to change `reco_pyspark` string in the commands to `reco_full`.
</details>


> **NOTE** - for PySpark environments (`reco_pyspark` and `reco_full`), we need to set the environment variables
> `PYSPARK_PYTHON` and `PYSPARK_DRIVER_PYTHON` to point to the conda python executable.
>
> Click on the following menus to see details:
>
> <details>
> <summary><strong><em>Linux or MacOS</em></strong></summary>
>
> To set these variables every time the environment is activated, we can follow the steps of this [guide](https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux).
> Assuming that we have installed the environment in `/anaconda/envs/reco_pyspark`,
> create the file `/anaconda/envs/reco_pyspark/etc/conda/activate.d/env_vars.sh` and add:
>
> #!/bin/sh
> export PYSPARK_PYTHON=/anaconda/envs/reco_pyspark/bin/python
> export PYSPARK_DRIVER_PYTHON=/anaconda/envs/reco_pyspark/bin/python
> export SPARK_HOME_BACKUP=$SPARK_HOME
> unset SPARK_HOME
>
> This will export the variables every time we do `conda activate reco_pyspark`.
> To unset these variables when we deactivate the environment,
> create the file `/anaconda/envs/reco_pyspark/etc/conda/deactivate.d/env_vars.sh` and add:
>
> #!/bin/sh
> unset PYSPARK_PYTHON
> unset PYSPARK_DRIVER_PYTHON
> export SPARK_HOME=$SPARK_HOME_BACKUP
> unset SPARK_HOME_BACKUP
>
> </details>
>
> <details><summary><strong><em>Windows</em></strong></summary>
>
> To set these variables every time the environment is activated, we can follow the steps of this [guide](https://conda.io/docs/user-guide/tasks/manage-environments.html#windows).
> Assuming that we have installed the environment in `c:\anaconda\envs\reco_pyspark`,
> create the file `c:\anaconda\envs\reco_pyspark\etc\conda\activate.d\env_vars.bat` and add:
>
> @echo off
> set PYSPARK_PYTHON=c:\anaconda\envs\reco_pyspark\python.exe
> set PYSPARK_DRIVER_PYTHON=c:\anaconda\envs\reco_pyspark\python.exe
> set SPARK_HOME_BACKUP=%SPARK_HOME%
> set SPARK_HOME=
> set PYTHONPATH_BACKUP=%PYTHONPATH%
> set PYTHONPATH=
>
> This will export the variables every time we do `conda activate reco_pyspark`.
> To unset these variables when we deactivate the environment,
> create the file `c:\anaconda\envs\reco_pyspark\etc\conda\deactivate.d\env_vars.bat` and add:
>
> @echo off
> set PYSPARK_PYTHON=
> set PYSPARK_DRIVER_PYTHON=
> set SPARK_HOME=%SPARK_HOME_BACKUP%
> set SPARK_HOME_BACKUP=
> set PYTHONPATH=%PYTHONPATH_BACKUP%
> set PYTHONPATH_BACKUP=
>
> </details>


### Register the conda environment as a kernel in Jupyter

We can register our created conda environment to appear as a kernel in the Jupyter notebooks.
Expand Down
3 changes: 1 addition & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ WORKDIR ${HOME}

# Install base dependencies
RUN apt-get update && \
apt-get install -y curl git
apt-get install -y curl git
Copy link
Contributor

Choose a reason for hiding this comment

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

extra whitespace snuck in


# Install Anaconda
ARG ANACONDA="https://repo.continuum.io/miniconda/Miniconda3-4.6.14-Linux-x86_64.sh"
Expand Down Expand Up @@ -42,7 +42,6 @@ RUN mkdir ${HOME}/.jupyter && \
# CPU Stage
FROM base AS cpu

# Setup Conda environment
RUN python recommenders/scripts/generate_conda_file.py --name base


Expand Down
2 changes: 1 addition & 1 deletion notebooks/00_quick_start/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ data preparation, model building, and model evaluation by using the utility func
| [rbm](rbm_movielens.ipynb)| MovieLens | Python CPU, GPU | Utilizing the Restricted Boltzmann Machine (rbm) [4] to predict movie ratings in a Python+GPU (TensorFlow) environment.<br>
| [rlrmc](rlrmc_movielens.ipynb) | Movielens | Python CPU | Utilizing the Riemannian Low-rank Matrix Completion (RLRMC) [6] to predict movie rating in a Python+CPU environment
| [sar](sar_movielens.ipynb) | MovieLens | Python CPU | Utilizing Simple Algorithm for Recommendation (SAR) algorithm to predict movie ratings in a Python+CPU environment.
| [sar_azureml](sar_movielens_with_azureml.ipynb)| MovieLens | Python CPU | An example of how to utilize and evaluate SAR using the [Azure Machine Learning service](https://docs.microsoft.com/azure/machine-learning/service/overview-what-is-azure-ml)(AzureML). It takes the content of the [sar quickstart notebook](sar_movielens.ipynb) and demonstrates how to use the power of the cloud to manage data, switch to powerful GPU machines, and monitor runs while training a model.
| [sar_azureml](sar_movielens_with_azureml.ipynb)| MovieLens | Python CPU | An example of how to utilize and evaluate SAR using the [Azure Machine Learning service](https://docs.microsoft.com/azure/machine-learning/service/overview-what-is-azure-ml) (AzureML). It takes the content of the [sar quickstart notebook](sar_movielens.ipynb) and demonstrates how to use the power of the cloud to manage data, switch to powerful GPU machines, and monitor runs while training a model.
| [wide-and-deep](wide_deep_movielens.ipynb) | MovieLens | Python CPU, GPU | Utilizing Wide-and-Deep Model (Wide-and-Deep) [5] to predict movie ratings in a Python+GPU (TensorFlow) environment.
| [xdeepfm](xdeepfm_criteo.ipynb) | Criteo, Synthetic Data | Python CPU, GPU | Utilizing the eXtreme Deep Factorization Machine (xDeepFM) [3] to learn both low and high order feature interactions for predicting CTR, in a Python+GPU (TensorFlow) environment.

Expand Down
Loading