From 6ad3e6e9e306d3657a0a3d0201862d1f471b2a5e Mon Sep 17 00:00:00 2001 From: Akshita Dixit <56997545+akshitadixit@users.noreply.github.com> Date: Thu, 25 Mar 2021 05:43:28 +0530 Subject: [PATCH] [docs] Add alt text on images (related to #4036) (#4038) * [docs]Add alt text on images * Update docs/GPU-Windows.rst Co-authored-by: James Lamb * Update docs/GPU-Windows.rst Co-authored-by: James Lamb * Apply suggestions from code review Co-authored-by: James Lamb * Apply suggestions from code review Co-authored-by: James Lamb * Merge main branch commit updates (#1) * [docs] Add alt text to image in Parameters-Tuning.rst (#4035) * [docs] Add alt text to image in Parameters-Tuning.rst Add alt text to Leaf-wise growth image, as part of #4028 * Update docs/Parameters-Tuning.rst Co-authored-by: James Lamb Co-authored-by: James Lamb * [ci] [R-package] upgrade to R 4.0.4 in CI (#4042) * [docs] update description of deterministic parameter (#4027) * update description of deterministic parameter to require using with force_row_wise or force_col_wise * Update include/LightGBM/config.h Co-authored-by: Nikita Titov * update docs Co-authored-by: Nikita Titov * [dask] Include support for init_score (#3950) * include support for init_score * use dataframe from init_score and test difference with and without init_score in local model * revert refactoring * initial docs. test between distributed models with and without init_score * remove ranker from tests * test value for root node and change docs * comma * re-include parametrize * fix incorrect merge * use single init_score and the booster_ attribute * use np.float64 instead of float * [ci] ignore untitle Jupyter notebooks in .gitignore (#4047) * [ci] prevent getting incompatible dask and distributed versions (#4054) * [ci] prevent getting incompatible dask and distributed versions * Update .ci/test.sh Co-authored-by: Nikita Titov * empty commit Co-authored-by: Nikita Titov * [ci] fix R CMD CHECK note about example timings (fixes #4049) (#4055) * [ci] fix R CMD CHECK note about example timings (fixes #4049) * Apply suggestions from code review Co-authored-by: Nikita Titov * empty commit Co-authored-by: Nikita Titov * [ci] add CMake + R 3.6 test back (fixes #3469) (#4053) * [ci] add CMake + R 3.6 test back (fixes #3469) * Apply suggestions from code review Co-authored-by: Nikita Titov * Update .ci/test_r_package_windows.ps1 * -Wait and remove rtools40 * empty commit Co-authored-by: Nikita Titov * [dask] include multiclass-classification task in tests (#4048) * include multiclass-classification task and task_to_model_factory dicts * define centers coordinates. flatten init_scores within each partition for multiclass-classification * include issue comment and fix linting error * Update index.rst (#4029) Add alt text to logo image Co-authored-by: James Lamb * [dask] raise more informative error for duplicates in 'machines' (fixes #4057) (#4059) * [dask] raise more informative error for duplicates in 'machines' * uncomment * avoid test failure * Revert "avoid test failure" This reverts commit 9442bdf00f193a19a923dc0deb46b7822cb6f601. * [dask] add tutorial documentation (fixes #3814, fixes #3838) (#4030) * [dask] add tutorial documentation (fixes #3814, fixes #3838) * add notes on saving the model * quick start examples * add examples * fix timeouts in examples * remove notebook * fill out prediction section * table of contents * add line back * linting * isort * Apply suggestions from code review Co-authored-by: Nikita Titov * Apply suggestions from code review Co-authored-by: Nikita Titov * move examples under python-guide * remove unused pickle import Co-authored-by: Nikita Titov * set 'pending' commit status for R Solaris optional workflow (#4061) * [docs] add Yu Shi to repo maintainers (#4060) * Update FAQ.rst * Update CODEOWNERS * set is_linear_ to false when it is absent from the model file (fix #3778) (#4056) * Add CMake option to enable sanitizers and build gtest (#3555) * Add CMake option to enable sanitizer * Set up gtest * Address reviewer's feedback * Address reviewer's feedback * Update CMakeLists.txt Co-authored-by: Nikita Titov Co-authored-by: Nikita Titov * added type hint (#4070) * [ci] run Dask examples on CI (#4064) * Update Parallel-Learning-Guide.rst * Update test.sh * fix path * address review comments * [python-package] add type hints on Booster.set_network() (#4068) * [python-package] add type hints on Booster.set_network() * change behavior * [python-package] Some mypy fixes (#3916) * Some mypy fixes * address James' comments * Re-introduce pass in empty classes * Update compat.py Remove extra lines * [dask] [ci] fix flaky network-setup test (#4071) * [tests][dask] simplify code in Dask tests (#4075) * simplify Dask tests code * enable CI * disable CI * Revert "[ci] prevent getting incompatible dask and distributed versions (#4054)" (#4076) This reverts commit 4e9c976867e1493b881b32d0e94ccf5c915fa31f. * Fix parsing of non-finite values (#3942) * Fix index out-of-range exception generated by BaggingHelper on small datasets. Prior to this change, the line "score_t threshold = tmp_gradients[top_k - 1];" would generate an exception, since tmp_gradients would be empty when the cnt input value to the function is zero. * Update goss.hpp * Update goss.hpp * Add API method LGBM_BoosterPredictForMats which runs prediction on a data set given as of array of pointers to rows (as opposed to existing method LGBM_BoosterPredictForMat which requires data given as contiguous array) * Fix incorrect upstream merge * Add link to LightGBM.NET * Fix indenting to 2 spaces * Dummy edit to trigger CI * Dummy edit to trigger CI * remove duplicate functions from merge * Fix parsing of non-finite values. Current implementation silently returns zero when input string is "inf", "-inf", or "nan" when compiled with VS2017, so instead just explicitly check for these values and fail if there is no match. No attempt to optimise string allocations in this implementation since it is usually rarely invoked. * Dummy commit to trigger CI * Also handle -nan in double parsing method * Update include/LightGBM/utils/common.h Remove trailing whitespace to pass linting tests Co-authored-by: Nikita Titov Co-authored-by: matthew-peacock Co-authored-by: Guolin Ke Co-authored-by: Nikita Titov * [dask] remove unused imports from typing (#4079) * Range check for DCG position discount lookup (#4069) * Add check to prevent out of index lookup in the position discount table. Add debug logging to report number of queries found in the data. * Change debug logging location so that we can print the data file name as well. * Revert "Change debug logging location so that we can print the data file name as well." This reverts commit 3981b34bd6e0530f89c4733e78e6b6603bf50d48. * Add data file name to debug logging. * Move log line to a place where it is output even when query IDs are read from a separate file. * Also add the out-of-range check to rank metrics. * Perform check after number of queries is initialized. * Update * [ci] upgrade R CI scripts to work on Ubuntu 20.04 (#4084) * [ci] install additional LaTeX packages in R CI jobs * update autoconf version * bump upper limit on package size to 100 * [SWIG] Add streaming data support + cpp tests (#3997) * [feature] Add ChunkedArray to SWIG * Add ChunkedArray * Add ChunkedArray_API_extensions.i * Add SWIG class wrappers * Address some review comments * Fix linting issues * Move test to tests/test_ChunkedArray_manually.cpp * Add test note * Move ChunkedArray to include/LightGBM/utils/ * Declare more explicit types of ChunkedArray in the SWIG API. * Port ChunkedArray tests to googletest * Please C++ linter * Address StrikerRUS' review comments * Update SWIG doc & disable ChunkedArray * Use CHECK_EQ instead of assert * Change include order (linting) * Rename ChunkedArray -> chunked_array files * Change header guards * Address last comments from StrikerRUS * store all CMake files in one place (#4087) * v3.2.0 release (#3872) * Update VERSION.txt * update appveyor.yml and configure * fix Appveyor builds Co-authored-by: James Lamb Co-authored-by: Nikita Titov Co-authored-by: StrikerRUS * [ci] Bump version for development (#4094) * Update .appveyor.yml * Update cran-comments.md * Update VERSION.txt * update configure Co-authored-by: James Lamb * [ci] fix flaky Azure Pipelines jobs (#4095) * Update test.sh * Update setup.sh * Update .vsts-ci.yml * Update test.sh * Update setup.sh * Update .vsts-ci.yml * Update setup.sh * Update setup.sh Co-authored-by: Subham Agrawal <34346812+subhamagrawal7@users.noreply.github.com> Co-authored-by: James Lamb Co-authored-by: shiyu1994 Co-authored-by: Nikita Titov Co-authored-by: jmoralez Co-authored-by: marcelonieva7 <72712805+marcelonieva7@users.noreply.github.com> Co-authored-by: Philip Hyunsu Cho Co-authored-by: Deddy Jobson Co-authored-by: Alberto Ferreira Co-authored-by: mjmckp Co-authored-by: matthew-peacock Co-authored-by: Guolin Ke Co-authored-by: ashok-ponnuswami-msft <57648631+ashok-ponnuswami-msft@users.noreply.github.com> Co-authored-by: StrikerRUS * Apply suggestions from code review Co-authored-by: Nikita Titov Co-authored-by: James Lamb Co-authored-by: Subham Agrawal <34346812+subhamagrawal7@users.noreply.github.com> Co-authored-by: shiyu1994 Co-authored-by: Nikita Titov Co-authored-by: jmoralez Co-authored-by: marcelonieva7 <72712805+marcelonieva7@users.noreply.github.com> Co-authored-by: Philip Hyunsu Cho Co-authored-by: Deddy Jobson Co-authored-by: Alberto Ferreira Co-authored-by: mjmckp Co-authored-by: matthew-peacock Co-authored-by: Guolin Ke Co-authored-by: ashok-ponnuswami-msft <57648631+ashok-ponnuswami-msft@users.noreply.github.com> Co-authored-by: StrikerRUS --- docs/Features.rst | 2 ++ docs/GPU-Performance.rst | 1 + docs/GPU-Windows.rst | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/docs/Features.rst b/docs/Features.rst index 6566eb628af2..64be80ba8b26 100644 --- a/docs/Features.rst +++ b/docs/Features.rst @@ -45,6 +45,7 @@ Most decision tree learning algorithms grow trees by level (depth)-wise, like th .. image:: ./_static/images/level-wise.png :align: center + :alt: A diagram depicting level wise tree growth in which the best possible node is split one level down. The strategy results in a symmetric tree, where every node in a level has child nodes resulting in an additional layer of depth. LightGBM grows trees leaf-wise (best-first)\ `[7] <#references>`__. It will choose the leaf with max delta loss to grow. Holding ``#leaf`` fixed, leaf-wise algorithms tend to achieve lower loss than level-wise algorithms. @@ -53,6 +54,7 @@ Leaf-wise may cause over-fitting when ``#data`` is small, so LightGBM includes t .. image:: ./_static/images/leaf-wise.png :align: center + :alt: A diagram depicting leaf wise tree growth in which only the node with the highest loss change is split and not bother with the rest of the nodes in the same level. This results in an asymmetrical tree where subsequent splitting is happening only on one side of the tree. Optimal Split for Categorical Features ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/GPU-Performance.rst b/docs/GPU-Performance.rst index 107e6d33b51b..ab7ff4137cf8 100644 --- a/docs/GPU-Performance.rst +++ b/docs/GPU-Performance.rst @@ -163,6 +163,7 @@ We record the wall clock time after 500 iterations, as shown in the figure below .. image:: ./_static/images/gpu-performance-comparison.png :align: center :target: ./_static/images/gpu-performance-comparison.png + :alt: A performance chart which is a record of the wall clock time after 500 iterations on G P U for Higgs, epsilon, Bosch, Microsoft L T R, Expo and Yahoo L T R and bin size of 63 performs comparatively better. When using a GPU, it is advisable to use a bin size of 63 rather than 255, because it can speed up training significantly without noticeably affecting accuracy. On CPU, using a smaller bin size only marginally improves performance, sometimes even slows down training, diff --git a/docs/GPU-Windows.rst b/docs/GPU-Windows.rst index 65adb169fe45..90772ddaf2c3 100644 --- a/docs/GPU-Windows.rst +++ b/docs/GPU-Windows.rst @@ -46,18 +46,21 @@ To modify PATH, just follow the pictures after going to the ``Control Panel``: .. image:: ./_static/images/screenshot-system.png :align: center :target: ./_static/images/screenshot-system.png + :alt: A screenshot of the System option under System and Security of the Control Panel. Then, go to ``Advanced`` > ``Environment Variables...``: .. image:: ./_static/images/screenshot-advanced-system-settings.png :align: center :target: ./_static/images/screenshot-advanced-system-settings.png + :alt: A screenshot of the System Properties window. Under ``System variables``, the variable ``Path``: .. image:: ./_static/images/screenshot-environment-variables.png :align: center :target: ./_static/images/screenshot-environment-variables.png + :alt: A screenshot of the Environment variables window with variable path selected under the system variables. -------------- @@ -105,6 +108,7 @@ You may choose a version other than the most recent one if you need a previous M .. image:: ./_static/images/screenshot-mingw-installation.png :align: center :target: ./_static/images/screenshot-mingw-installation.png + :alt: A screenshot of the Min G W installation setup settings window. Then, add to your PATH the following (to adjust to your MinGW version): @@ -123,6 +127,7 @@ You can check which MinGW version you are using by running the following in a co .. image:: ./_static/images/screenshot-r-mingw-used.png :align: center :target: ./_static/images/screenshot-r-mingw-used.png + :alt: A screenshot of the administrator command prompt where G C C version is being checked. To check whether you need 32-bit or 64-bit MinGW for R, install LightGBM as usual and check for the following: @@ -220,6 +225,7 @@ This is what you should (approximately) get at the end of Boost compilation: .. image:: ./_static/images/screenshot-boost-compiled.png :align: center :target: ./_static/images/screenshot-boost-compiled.png + :alt: A screenshot of the command prompt that ends with text that reads - updated 14621 targets. If you are getting an error: @@ -243,6 +249,7 @@ Installing Git for Windows is straightforward, use the following `link`_. .. image:: ./_static/images/screenshot-git-for-windows.png :align: center :target: ./_static/images/screenshot-git-for-windows.png + :alt: A screenshot of the website to download git that shows various versions of git compatible with 32 bit and 64 bit Windows separately. Now, we can fetch LightGBM repository for GitHub. Run Git Bash and the following command: @@ -270,6 +277,7 @@ Installing CMake requires one download first and then a lot of configuration for .. image:: ./_static/images/screenshot-downloading-cmake.png :align: center :target: ./_static/images/screenshot-downloading-cmake.png + :alt: A screenshot of the binary distributions of C Make for downloading on 64 bit Windows. - Download `CMake`_ (3.8 or higher) @@ -288,16 +296,19 @@ Installing CMake requires one download first and then a lot of configuration for .. image:: ./_static/images/screenshot-create-directory.png :align: center :target: ./_static/images/screenshot-create-directory.png + :alt: A screenshot with a pop-up window that reads - Build directory does not exist, should I create it? .. image:: ./_static/images/screenshot-mingw-makefiles-to-use.png :align: center :target: ./_static/images/screenshot-mingw-makefiles-to-use.png + :alt: A screenshot that asks to specify the generator for the project which should be selected as Min G W makefiles and selected as the use default native compilers option. - Lookup for ``USE_GPU`` and check the checkbox .. image:: ./_static/images/screenshot-use-gpu.png :align: center :target: ./_static/images/screenshot-use-gpu.png + :alt: A screenshot of the C Make window where the checkbox with the test Use G P U is checked. - Click ``Configure`` @@ -306,6 +317,7 @@ Installing CMake requires one download first and then a lot of configuration for .. image:: ./_static/images/screenshot-configured-lightgbm.png :align: center :target: ./_static/images/screenshot-configured-lightgbm.png + :alt: A screenshot of the C Make window after clicking on the configure button. :: @@ -366,6 +378,7 @@ You can do everything in the Git Bash console you left open: .. image:: ./_static/images/screenshot-lightgbm-with-gpu-support-compiled.png :align: center :target: ./_static/images/screenshot-lightgbm-with-gpu-support-compiled.png + :alt: A screenshot of the git bash window with Light G B M successfully installed. If everything was done correctly, you now compiled CLI LightGBM with GPU support! @@ -382,6 +395,7 @@ You can now test LightGBM directly in CLI in a **command prompt** (not Git Bash) .. image:: ./_static/images/screenshot-lightgbm-in-cli-with-gpu.png :align: center :target: ./_static/images/screenshot-lightgbm-in-cli-with-gpu.png + :alt: A screenshot of the command prompt where a binary classification model is being trained using Light G B M. Congratulations for reaching this stage! @@ -397,6 +411,7 @@ Now that you compiled LightGBM, you try it... and you always see a segmentation .. image:: ./_static/images/screenshot-segmentation-fault.png :align: center :target: ./_static/images/screenshot-segmentation-fault.png + :alt: A screenshot of the command prompt where a segmentation fault has occurred while using Light G B M. Please check if you are using the right device (``Using GPU device: ...``). You can find a list of your OpenCL devices using `GPUCapsViewer`_, and make sure you are using a discrete (AMD/NVIDIA) GPU if you have both integrated (Intel) and discrete GPUs installed. Also, try to set ``gpu_device_id = 0`` and ``gpu_platform_id = 0`` or ``gpu_device_id = -1`` and ``gpu_platform_id = -1`` to use the first platform and device or the default platform and device. @@ -411,6 +426,7 @@ You will have to redo the compilation steps for LightGBM to add debugging mode. .. image:: ./_static/images/screenshot-files-to-remove.png :align: center :target: ./_static/images/screenshot-files-to-remove.png + :alt: A screenshot of the Light G B M folder with 1 folder and 3 files selected to be removed. Once you removed the file, go into CMake, and follow the usual steps. Before clicking "Generate", click on "Add Entry": @@ -418,12 +434,14 @@ Before clicking "Generate", click on "Add Entry": .. image:: ./_static/images/screenshot-added-manual-entry-in-cmake.png :align: center :target: ./_static/images/screenshot-added-manual-entry-in-cmake.png + :alt: A screenshot of the Cache Entry popup where the name is set to CMAKE_BUILD_TYPE in all caps, the type is set to STRING in all caps and the value is set to Debug. In addition, click on Configure and Generate: .. image:: ./_static/images/screenshot-configured-and-generated-cmake.png :align: center :target: ./_static/images/screenshot-configured-and-generated-cmake.png + :alt: A screenshot of the C Make window after clicking on configure and generate. And then, follow the regular LightGBM CLI installation from there. @@ -437,6 +455,7 @@ open a command prompt and run the following: .. image:: ./_static/images/screenshot-debug-run.png :align: center :target: ./_static/images/screenshot-debug-run.png + :alt: A screenshot of the command prompt after the command above is run. Type ``run`` and press the Enter key.