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

[RFC] XGBoost 1.1.0 Release Candidate #5593

Closed
13 tasks done
hcho3 opened this issue Apr 24, 2020 · 5 comments
Closed
13 tasks done

[RFC] XGBoost 1.1.0 Release Candidate #5593

hcho3 opened this issue Apr 24, 2020 · 5 comments

Comments

@hcho3
Copy link
Collaborator

hcho3 commented Apr 24, 2020

Roadmap: #5337

We are about to release version 1.1.0 of XGBoost. In the next two weeks, we invite everyone to try out the release candidate (RC).

Feedback period: until the end of May 8, 2020 May 15, 2020 (extended because we made RC2). No new feature will be added to the release; only critical bug fixes will be added.

@dmlc/xgboost-committer

Now available

  • Python package. RC2 available on PyPI. Try it out with the command
python3 -m pip install xgboost==1.1.0rc2
  • R package. RC2 available from the Releases section. Download the tarball file xgboost_1.1.0.1.tar.gz and run
R CMD INSTALL xgboost_1.1.0.1.tar.gz
  • JVM packages. RC2 available from our Maven repository. Add XGBoost4J as dependency to your Java application.

Maven

<dependencies>
  ...
  <dependency>
      <groupId>ml.dmlc</groupId>
      <artifactId>xgboost4j_${scala.binary.version}</artifactId>
      <version>1.1.0-RC2</version>
  </dependency>
  <dependency>
      <groupId>ml.dmlc</groupId>
      <artifactId>xgboost4j-spark_${scala.binary.version}</artifactId>
      <version>1.1.0-RC2</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>XGBoost4J Release Repo</id>
    <name>XGBoost4J Release Repo</name>
    <url>https://s3-us-west-2.amazonaws.com/xgboost-maven-repo/release/</url>
  </repository>
</repositories>

For scala.binary.version, you may choose 2.11 or 2.12.

SBT

libraryDependencies ++= Seq(
  "ml.dmlc" %% "xgboost4j" % "1.1.0-RC2",
  "ml.dmlc" %% "xgboost4j-spark" % "1.1.0-RC2"
)
resolvers += ("XGBoost4J Release Repo"
              at "https://s3-us-west-2.amazonaws.com/xgboost-maven-repo/release/")

TODOs

  • Create a new branch release_1.1.0.
  • Create Python wheels and upload to PyPI.
  • Upload RC2 to our Maven repo.
  • Create a tarball for the R package and upload to the Releases section
  • Write release note

Known limitations

  • (Python package) When early stopping is activated with early_stopping_rounds, the prediction method (xgb.train()) behaves in a surprising way. If XGBoost runs for M rounds and chooses iteration N (N < M) as the best iteration, then the prediction method will use M trees by default. To use the best iteration (N trees), users will need to manually take the best iteration field bst.best_iteration and pass it as the ntree_limit argument to xgb.predict(). See [R] Best iteration index from early stopping is discarded when model is saved to disk #5209 for additional context.
  • GPU ranking objective is currently not deterministic (GPU ranking objective is not deterministic. #5561).
  • When training parameter reg_lambda is set to zero, some leaf nodes may be assigned a NaN value. (See discussion) For now, please set reg_lambda to a nonzero value.

Deprecation notices

  • Python 3.5. This release is the last release to support Python 3.5. The following release (1.2.0) will require Python 3.6.
  • CUDA 9.0. This release requires CUDA 9.2, and is the last release to support CUDA 9.x. The following release (1.2.0) will require CUDA 10.0.
  • Scala 2.11. Currently XGBoost4J supports Scala 2.11. However, if a future release of XGBoost adopts Spark 3, it will not support Scala 2.11, as Spark 3 requires Scala 2.12+. We do not yet know which XGBoost release will adopt Spark 3.
  • Python package manager (Pip). Your Linux machine may have an old version of Pip and may attempt to install a source package, leading to long installation time. This is because we are now using manylinux2010 tag in the binary wheel release. Ensure you have Pip 19.0 or newer by running python3 -m pip -V to check the version. Upgrade Pip with command
python3 -m pip install --upgrade pip

Outstanding patches that should make it into the 1.1.0 release:

Merged after RC1:

Merged after RC2:

@hcho3 hcho3 pinned this issue Apr 24, 2020
@trivialfis
Copy link
Member

When early stopping is activated with early_stopping_rounds, the prediction method (xgb.train()) behaves in a surprising way. If XGBoost runs for M rounds

That's only true for Python.

@hcho3
Copy link
Collaborator Author

hcho3 commented Apr 24, 2020

@trivialfis Thanks. I've added (Python package) prefix.

@hcho3
Copy link
Collaborator Author

hcho3 commented May 4, 2020

RC2 is released.

@trivialfis
Copy link
Member

Added merged after RC2 section.

@hcho3
Copy link
Collaborator Author

hcho3 commented May 17, 2020

1.1.0 is now on PyPI. I'm still working on the release note and will put it up soon.

@hcho3 hcho3 closed this as completed May 17, 2020
@hcho3 hcho3 unpinned this issue May 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants