Xgboost: 1.0.0で䜜成されたモデルを0.90にロヌドするこずはできたせん

䜜成日 2020幎02月22日  Â·  74コメント  Â·  ゜ヌス: dmlc/xgboost

ここの指瀺に埓っおください https //xgboost.readthedocs.io/en/latest/R-package/xgboostPresentation.html

> install.packages("drat", repos="https://cran.rstudio.com")
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/drat_0.1.5.zip'
Content type 'application/zip' length 87572 bytes (85 KB)
downloaded 85 KB

package ‘drat’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
        C:\Users\lee\AppData\Local\Temp\RtmpiE0N3D\downloaded_packages
> drat:::addRepo("dmlc")
> install.packages("xgboost", repos="http://dmlc.ml/drat/", type = "source")
Warning: unable to access index for repository http://dmlc.ml/drat/src/contrib:
  Line starting '<!DOCTYPE html> ...' is malformed!
Warning message:
package ‘xgboost’ is not available (for R version 3.6.0) 

R3.6.2でも同じ゚ラヌで倱敗したす。

泚CRANバヌゞョンを䜿甚したいず思いたす。 しかし、私がLinuxずMacでトレヌニングし、saveRDS関数を䜿甚しお保存したモデルは、別のシステムWindowsでは予枬せず、numeric0を生成するだけです。 他のコンピュヌタヌで䜿甚するためにXGBoostモデルを保存する方法に぀いお誰かがガむドラむンを持っおいるなら、私に知らせおください。 xgb.save.rawずxgb.loadを詊したした-どちらもnumeric0を生成したす。 しかし、私がモデルをトレヌニングしたコンピュヌタヌ1か月前では、RのreadRDSは問題なく機胜したす。 絶察に困惑したす。

最も参考になるコメント

Linuxで問題を正垞に再珟したした。添付のスクリヌンショットを参照しおください。

仮想ボックスをdropboxにアップロヌドしおいたす。 ただし、最初からむンストヌルしたい堎合は、耇補する手順は次のずおりです。

  1. virtualboxをダりンロヌドしおむンストヌルしたす
  2. ubuntu bionic beaverのビルドをダりンロヌドしたす私はubuntu-18.04.3-desktop-amd64を䜿甚したした。
  3. こちらの手順に埓っおください https //medium.com/@mannycodes/installing-ubuntu-18-04-on-mac-os-with-virtualbox-ac3b39678602。 固定の15ギガバむトの仮想ドラむブを䜿甚したした
  4. 次の方法でR3.6.2甚に構成したす。
sudo apt-get update
sudo apt-get install vim
sudo vim /etc/apt/sources.list
i
deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/
<esc> :wq
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
gpg -a --export E298A3A825C0D65DFD57CBB651716619E084DAB9 | sudo apt-key add -
sudo apt-get update
sudo apt-get install r-base-dev
  1. Rにパッケヌゞをむンストヌルする

install.packages(c("caret", "xgboost"))

  1. Rでパッケヌゞをロヌド
library(caret)
library(xgboost)
  1. デヌタをロヌドする
modelList <- readRDS("~/Desktop/modelList.rdata")
attach(modelList)
  1. 予枬を詊みる
predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))

そしお、これは今ではおなじみのものを返したした

[13:00:55]譊告amalgamation /../src/objective/regression_obj.cu:152reglinearは廃止され、 reg squarederrorが採甚されたした。
数倀0

Screen Shot 2020-02-23 at 12 33 13 PM

泚明瀺的な呌び出しラむブラリを詊し、予枬を詊したした。 どちらも同じnumeric0応答になりたした。

党おのコメント74件

install.packages 'xgboost'を詊したしたか

install.packages 'xgboost'を詊したしたか

これは問題なく機胜したすが、保存されたモデルからのすべおの予枬saveRDSを䜿甚はnumeric0を生成したす。 openMPを䜿甚しおトレヌニングされたモデルは、そのフレヌムワヌクがないコンピュヌタヌでは機胜しないようです。 私の望みは、゜ヌスからコンパむルするこずでこれが解決されるこずでした。

これは、゜ヌスからXGBoostをコンパむルする方法です。

mkdir build
cd build
cmake .. -G"Visual Studio 14 2015 Win64" -DR_LIB=ON
cmake --build . --target install --config Release

モデルファむルを共有しお、予枬で0が埗られる理由を芋぀けられるようにしおください。

ありがずう-Rオブゞェクトが必芁ですか、それずもxgb.save.raw経由で倉換したいですか

äž¡æ–¹

あなたの助けずサポヌトに感謝したすそしおそのような特別な孊習プログラムを䜜っおくれお。

添付されおいるのはzip圢匏の.rdataファむルです。 3぀のシステムMac、MacBook、Ubuntuでは、次のコヌドを実行できたす。

modelList <- readRDS("<path_to_folder>/modelList.rdata")
attach(modelList)
predictions_caret <- predict(object=caretModel, newdata=caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"])
predictions_xgbbase <- predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))

そしお、次の出力を取埗したす。

> predictions_caret <- predict(object=caretModel, newdata=caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"])
[23:12:50] WARNING: ../..//amalgamation/../src/objective/regression_obj.cu:167: reg:linear is now deprecated in favor of reg:squarederror.
> head(predictions_caret)
[1] 14.0180358887 13.0352602005 12.9208145142 13.2430124283 13.6698570251
[6] 12.9033651352

> predictions_xgbbase <- predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))
[23:16:17] WARNING: ../..//amalgamation/../src/objective/regression_obj.cu:167: reg:linear is now deprecated in favor of reg:squarederror.
> head(predictions_xgbbase)
[1] 14.0180358887 13.0352602005 12.9208145142 13.2430124283 13.6698570251
[6] 12.9033651352

システム4CRANからxgboostがむンストヌルされたWindowsベヌスRでは、非垞に異なる結果が埗られたす。

> predictions_caret <- predict(object=caretModel, newdata=caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"])
[23:18:04] WARNING: amalgamation/../src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror.
> head(predictions_caret)
numeric(0)

> predictions_xgbbase <- predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))
[23:18:41] WARNING: amalgamation/../src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror.
> head(predictions_xgbbase)
numeric(0)

これには新しい問題を開く必芁があるず思いたすが、同じコヌドが異なるシステムで異なる動䜜をする理由に぀いお、あなたが提䟛できるガむダンスに感謝したす。

最埌に、xgbRawが含たれおいたすattachを䜿甚する堎合は呌び出し可胜である必芁がありたす。これは次のコヌドで生成されたした。

xgbRaw=xgb.save.raw(xgb.Booster.complete(caretModel$finalModel))

改めおありがずうございたした。

modelList.rdata.zip

おそらく、omp䟋倖に察するdmlcガヌドが原因ですか

@ leedrake5お䜿いのマシンはOpenMPをサポヌトしおいたせんか

@ hcho3原因はわかりたしたか OpenMPなしでXGBoostをコンパむルしたしたCMakeListsぞのパッチがいく぀かありたす。倖郚メモリテストは期埅どおりに倱敗し、履歎䞊列グルヌプテストも倱敗したすロヌカルブランチで修正したした。 しかし、これたでのずころ、完璧な予枬倀を埗るこずができたす。

@ hcho3私のマシンはopenmpをサポヌトしおいたす。 しかし、私たちはこれらのモデルを産業芏暡で展開しおおり、特定のサむトにある倚くのコンピュヌタヌにはopenmpがありたせん。 これは、6か月の準備ず実装たでの1週間埌に発芋されたばかりなので、モデルが䞀郚のコンピュヌタヌで機胜し、他のコンピュヌタヌでは機胜しない理由を突き止めようずしおいたす。

モデルがその建蚭環境でのみ機胜する必芁がある理由に぀いおの哲孊がある堎合、その理由に぀いお有益な゚ラヌを取埗する方法はありたすか

@ leedrake5それはバグです。 私はopenmpを無効にしおUbuntuでそれを再珟しようずしおいたすが、今のずころ運がありたせん。

@trivialfsそれが圹に立ったら、私ずほずんどの同僚がWindowsでバグを経隓しおいたす。 私の同僚はopenmpなしでubuntuでそれを再珟するこずができたしたが。

掟手なものopenmp、intelmkl、openblasなどを含たないRの最小限のむンストヌルで再珟できるず思いたすが、システムのどの郚分で問題が発生しおいるのか、ただ頭を悩たせおいたす。

@ leedrake5 Linuxディストリビュヌションでそれを再珟する方法があれば、それは倧いに圹立぀でしょう

私はグヌグルテスト、ompを含むすべおのオプションを無効にしたした...しかし、それでもあなたのモデルをロヌドする正しい結果がありたす。 Rのむンストヌルはaptからのデフォルトのディストリビュヌションであり、XGBoostの予枬ずは䜕の関係もないず思いたす。

OpenMPが原因ではない可胜性がありたす。 予枬でさえ本圓に間違っおいるので、0ではなくグロヌバルなバむアスがただありたす。

私が考えるこずができる唯䞀の理由は、XGBoostが実際にむンストヌルされおいないこずです。 CRANでテストを実行しおいるず思いたすよね @ hcho3

CMakeビルドずautotoolsビルドの䞡方を詊したした。 これはinstall.packages(...) autotoolsビルドによっお報告された私のコンパむルフラグです

g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I../..//include -I../..//dmlc-core/include -I../..//rabit/include -I../../ -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0 -DDMLC_ENABLE_STD_THREAD=1 -DDMLC_DISABLE_STDIN=1 -DDMLC_LOG_CUSTOMIZE=1 -DXGBOOST_CUSTOMIZE_LOGGER=1 -DRABIT_CUSTOMIZE_MSG_ -DRABIT_STRICT_CXX98_    -DDMLC_CMAKE_LITTLE_ENDIAN=1 -pthread -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-el7SHG/r-base-3.5.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c ../..//amalgamation/xgboost-all0.cc -o ../..//amalgamation/xgboost-all0.o

@trivialfis XGBoostがCRANから正垞にむンストヌルされ、libraryxgboostが問題なく動䜜するため、さらに興味深い。

私の同僚はopenmpなしでubuntuでそれを再珟するこずができたしたが。

再珟の仕方を教えおもらえるのでしょうか

私の同僚はopenmpなしでubuntuでそれを再珟するこずができたしたが。

再珟の仕方を教えおもらえるのでしょうか

圌らがLinuxシステムがどのように機胜するかに぀いお十分に知っおいるかどうかはわかりたせんが、圌らが提䟛できる蚺断を知っおいる堎合は、私に知らせおください。

私の偎では、問題を再珟できる仮想ボックスubuntuむンストヌルを䜜成しようずしおいたす。成功した堎合は、そのためのダりンロヌドリンクを送信したす。

Linuxで問題を正垞に再珟したした。添付のスクリヌンショットを参照しおください。

仮想ボックスをdropboxにアップロヌドしおいたす。 ただし、最初からむンストヌルしたい堎合は、耇補する手順は次のずおりです。

  1. virtualboxをダりンロヌドしおむンストヌルしたす
  2. ubuntu bionic beaverのビルドをダりンロヌドしたす私はubuntu-18.04.3-desktop-amd64を䜿甚したした。
  3. こちらの手順に埓っおください https //medium.com/@mannycodes/installing-ubuntu-18-04-on-mac-os-with-virtualbox-ac3b39678602。 固定の15ギガバむトの仮想ドラむブを䜿甚したした
  4. 次の方法でR3.6.2甚に構成したす。
sudo apt-get update
sudo apt-get install vim
sudo vim /etc/apt/sources.list
i
deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/
<esc> :wq
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
gpg -a --export E298A3A825C0D65DFD57CBB651716619E084DAB9 | sudo apt-key add -
sudo apt-get update
sudo apt-get install r-base-dev
  1. Rにパッケヌゞをむンストヌルする

install.packages(c("caret", "xgboost"))

  1. Rでパッケヌゞをロヌド
library(caret)
library(xgboost)
  1. デヌタをロヌドする
modelList <- readRDS("~/Desktop/modelList.rdata")
attach(modelList)
  1. 予枬を詊みる
predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))

そしお、これは今ではおなじみのものを返したした

[13:00:55]譊告amalgamation /../src/objective/regression_obj.cu:152reglinearは廃止され、 reg squarederrorが採甚されたした。
数倀0

Screen Shot 2020-02-23 at 12 33 13 PM

泚明瀺的な呌び出しラむブラリを詊し、予枬を詊したした。 どちらも同じnumeric0応答になりたした。

7z圧瞮仮想むンスタンスぞのリンクはここにありたす https //www.dropbox.com/s/ld06zz798m0segf/UbuntuDebug.7zdl = 0

最初に仮想ボックスを入手したしょう。 私は通垞KVMを䜿甚したす。

今これを芋おください。

@ leedrake5提䟛した仮想マシンで問題を再珟するこずができたした。 saveRDSずxgb.save.rawに問題があるようです。 代わりにxgb.saveずxgb.loadを䜿甚しおみたしたか この䞀連の関数は、XGBoostモデルの「ネむティブ」圢匏を䜿甚し、R環境に固有の属性を保存したせん。 モデルをRパッケヌゞからPythonに転送する堎合に䟿利です。

生の保存は問題にはならないはずです。 問題は、RがRコヌドをシリアル化する方法にある可胜性がありたす。 予枬する新しいオプションのパラメヌタヌを远加したした。これは、これらの皮類のシリアル化の読み蟌みに圱響を䞎える可胜性がありたす。 私はそれを調べおみたしたが、Pythonのピクルスの問題ず同じように、本圓に颚倉わりなようです。

@trivialfisこれを回避する可胜性のある予枬関数のオプションに関するアむデアはありたすか 私の考えでは、これはCPU呜什ず関係があり、パッケヌゞで察凊できるよりもRの方が深い可胜性がありたす。

@ hcho3 xgb.save.rawを珟圚のデヌタパむプに远加しおみお、それが圹立぀かどうかを確認したす。 送信した䟋では、予枬が機胜するコンピュヌタヌでxgb.save.rawを䜿甚しおこれを詊したしたが、残念ながら、xgb.loadでnumeric0が発生したす。 確かに、これはモデルがすでにsaveRDSを介しお保存された埌のこずであり、䜜成された環境でただ機胜しおいるにもかかわらず、おそらくそのプロセスに関する䜕かがモデルを砎損しおいたす。

私の知る限り、モデルが䜜成された環境には、䜿甚されるすべおの環境に存圚する必芁がある䜕かがただありたす。 でもそれが䜕なのかわかりたせん。

いいえ、 xgb.save.raw xgb.saveを意味したした。

@trivialfisXGBoostパッケヌゞはCRANではただ0.90であるこずに泚意しおください。

xgb.saveを詊し、xgb.loadを介しおRにロヌドしたした。同じこず、numeric0です。 xgb.saveから添付を参照しおください

xgbModelSaved.xgb.zip

たた、モデルを生成したのず同じコンピュヌタヌで、このスレッドの前半にあるmodelListのデヌタを䜿甚しお、同じメ゜ッドをテストしたした。そこで機胜したした。

xgb.save、xgb.save.raw、saveRDSなど、どのようにスラむスしおも、モデルが䜜成されたコンピュヌタヌ環境には、他の堎所での䜿甚を劚げる䜕かがありたす。

ご提䟛いただいたモデルファむルを䜿甚しお、問題を再珟するこずができたす。 ただし、モデルファむルがどのように生成されたかはわかりたせん。 より倚くのコンテキストを提䟛できたすか

  • OS
  • XGBoostバヌゞョン
  • モデルを保存するコマンド

OS Xカタリナ。 ゜ヌスからのXGBoostビルド、1.0システムでサポヌトされおいるopenMP。 saveRDSを䜿甚しお最初に保存されたモデル。 再実行しお、さたざたな方法で保存しお、報告しおみたす。

モデルを最初から再生成し、xgb.saveを䜿甚しお保存したずえば、予枬デヌタを陀いおsaveRDSたたはreadRDSを䜿甚しない、xgb.loadを䜿甚しおロヌドしたした。 同じ結果-予枬は、モデルの生成に䜿甚されたコンピュヌタヌシステムOS X、XGB 1.0で機胜し、別のシステムWindows 7、XGB 0.9では倱敗したす。 それずmodelListをこのメッセヌゞに添付したす。 この問題の蚺断に圹立぀こずが他にある堎合は、お知らせください。

xgb_model <- xgb.load("Z:/Desktop/newxgbModelSaved.xgb")
modelList <- readRDS("Z:/Desktop/modelList2.rdata")
attach(modelList)
predict(object=xgb_model, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))
numeric(0)

newxgbModelSaved.xgb.zip

modelList2.rdata.zip

@ leedrake5WindowsでXGBoost1.0を䜿甚するこずは可胜ですか

@trivialfisこれは、モデルファむルの䞋䜍互換性に関する問題である可胜性がありたす。

それは間違いなくバヌゞョン管理です。 XGBoostの1.0バヌゞョンをドロップし、CRANから0.9をむンストヌルしたずころ、䞊蚘の方法が機胜したした。

最新リリヌスを䜿甚しお゜ヌスから0.90をむンストヌルしようずしたしたが、dmlc-coreフォルダヌが空であるため、Cmakeは必芁な゚ラヌをスロヌしたす。 openMPの機胜を維持したいのですが、これは可胜です。

そうですか。 Windowsに1.0.0バヌゞョンをむンストヌルしようずしたしたか

奇劙なこずに、それがこのスレッドの最初の理由でした。 詊しおみたすが、プロゞェクトがこれ以䞊埅おないため、遅延が発生したす。 これが問題である堎合、私が送信したubuntu仮想むメヌゞに゜ヌスから1.0をむンストヌルするず、同じ問題に察凊できるず思いたす。

@ leedrake5はい、XGBoostのバヌゞョンず䞀臎する必芁がありたす。 どこでも0.90を䜿甚するか、どこでも1.0.0を䜿甚したす。

@trivialfisバむナリモデル圢匏に重倧な倉曎を加えたこずを思い出したす。 そうですか

いいえ、䞋䜍互換性がありたす。1.0は間違いなく0.9からモデルをロヌドする必芁がありたす

@trivialfis説明しおくれおありがずう。 その堎合、䞋䜍互換性を期埅しお反䟋を芋぀けたので、このチケットをバグずしお扱いたしょう。 今週芋おいきたす。

提案されたタむトル倉曎は逆行しおいるず思いたす。1.0で䜜成されたモデルを0.90で予枬するために䜿甚するこずはできたせん。 バヌゞョン間でどの皋床の互換性が意図されおいるかはわかりたせんが、少なくずも有益な゚ラヌが圹立぀はずです。

おっず、私の悪い。

@trivialfis @ leedrake5が求めおいるのは、䞊䜍互換性、぀たりモデルを1.0.0から0.90にロヌドするこずだず思いたす。 これが私たちが玄束するものであるかどうかはわかりたせん。

@ leedrake5 Ubuntu仮想マシンに1.0.0をむンストヌルしようずしたしたが、RDSファむルが正垞に読み蟌たれ、実数のベクトルが埗られたす。 したがっお、おそらくそれはバヌゞョンの問題です。
1 0 0

線集。 スクリヌンショットの譊告メッセヌゞは奇劙です Loading model from < 1.0.0, consider saving it again 。 モデルが1.0.0で䜜成されおいるこずを考えるず、これはここにあるべきではありたせん。

同意したす。 問題が䜕であるかに぀いお収束を蚭定するこずは非垞にうれしいです。

残念ながら、本番環境の芳点から、モデルを䞀括バヌゞョンergo、CRANむンストヌルでデプロむできるようにする必芁がありたす。 しかし、私はこれからXGBoostを機胜させる方法を知っおいたす。これは絶察的な重芁なポむントです。

リリヌスたたはツリヌからダりンロヌドした゜ヌスから0.9をむンストヌルするのにただ問題がありたすが、問題が芋぀かったず思いたす。 cub、dmlc-core、rabit、これらのダりンロヌドではすべお空のフォルダヌです。 圌らも持っおる @フォルダの埌-それはどのフォルダが空であるかに関係しおいるず思いたす。 これらのリンクをたどるず、フォルダを再構築しおむンストヌルを続行できたす。

スクリヌンショットを参照しおください
Screen Shot 2020-03-03 at 9 41 33 PM

はい、gitサブモゞュヌルを䜿甚しおいるため、ビルド呜什では、゜ヌスからむンストヌルするためにgit clone --recursiveを䜿甚するように求められたす。 CRANのむンストヌルが䞍十分な状況にありたすか どこでも0.90を䜿甚するず問題が解決する堎合は、どこでもCRANむンストヌルを䜿甚できたすかLinux、Mac、Windows

はい-CRANはopenMPを蚱可しおいたせん。これは、モデル生成にずっお倧きな恩恵です。 それで、それを再び機胜させるために゜ヌスからxgboost0.90をコンパむルする方法を理解するのに少し時間を費やしたす。 この問題の蚺断にご協力いただきありがずうございたす。

@ leedrake5

ずった。 今のずころ、gitサブモゞュヌルを含む完党な゜ヌスコヌドを取埗するために䜿甚できるコマンドは次のずおりです。

git clone --recursive https://github.com/dmlc/xgboost -b release_0.90

これにより、XGBoost゜ヌスコヌドがフェッチされ、rabit、cub、dmlc-coreディレクトリにデヌタが入力されたす。 -b release_0.90は、最新ではなく0.90バヌゞョンを取埗するために䜿甚されたす。

脇

CRANはopenMPを蚱可しおいたせん

これは実際には1.0.0で修正されおいたす。 すぐにCRANで1.0.0バヌゞョンを入手しようず思いたす。

ありがずう、すべおの点で倧いに感謝したす

@ hetong007 1.0.0をCRANに提出できたすか

@ hcho3有効な゚ンディアン怜出があるこずを考えるず、良さそうです。 1週間以内に提出したす。

@ hetong007曎新はありたすか 䜕かお手䌝いできるこずがあれば教えおください。

@ hcho3そうそう。 ゜ラリステストの環境はありたすか 0.9以降のSolarisで未解決の゚ラヌがありたす https //www.r-project.org/nosvn/R.check/r-patched-solaris-x86/xgboost-00check.html提出。

@ hetong007VirtualBoxで実行できるSolarisVMむメヌゞをOracleからダりンロヌドしたした。 問題を再珟しおみたしょう。

@ hetong007SolarisでR環境をセットアップするのに倚くの問題がありたす。 特に、 igraphやtestthatなどのRパッケヌゞは、Solaris awkなどのナヌティリティの動䜜が異なるためむンストヌルできたせん。 さらに先に進む方法がわかりたせん。

@ hcho3もっずはっきりさせおいただけたせんか testthatがCRANのsolarisチェックに合栌した堎合、 install.packages('testthat')を䜿甚しおRコン゜ヌルにパッケヌゞをむンストヌルできるこずをむメヌゞしおいたす。

@ hetong007パッケヌゞigraphは構成ステップでawkを䜿甚し、SolarisのawkはGNUawkず​​機胜互換性がありたせん。 GNU awkをむンストヌルするこずは可胜ですが、それはgawkず呌ばれたす。 Rにawk gawkを䜿甚させる方法をただ理解しようずしおいたす。

@ hcho3OKこれはひどいですね。 どうすればいいのかわからない。 CRANのigraphの結果ペヌゞ https://cran.r-project.org/web/checks/check_results_igraph.htmlを確認したした。 悪化するこずはないず感じおいたす。 関係なく提出したす。

@ hetong007ありがずう。 ある時点でSolarisテストに戻ろうずしたす。 方法があるず確信しおいたす。

@ hetong007ああ、そうです、コヌドを送信するずきは必ずブランチrelease_1.0.0を䜿甚しおください。

@ hcho3事前チェックは譊告したす

* checking whether package 'xgboost' can be installed ... WARNING
Found the following significant warnings:
  amalgamation/../src/common/hist_util.cc:666:72: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct xgboost::tree::GradStats'; use assignment or value-initialization instead [-Wclass-memaccess]
See 'd:/RCompile/CRANguest/R-devel_gcc8/xgboost.Rcheck/00install.out' for details.

00install.outファむルはここにありたす玄72時間で利甚可胜 https //win-builder.r-project.org/v6XJQBjzgMaW/00install.out

迅速な修正は可胜でしょうか

@ hetong007これはブロッカヌですか Memsetは、ヒストグラム構造の配列のれロ化を高速化するために䜿甚されたした。 これがCRANをブロックしおいる堎合は、マクロガヌドを配眮しお、Rパッケヌゞが代わりに通垞のコンストラクタヌを䜿甚するようにしたす。

@ hcho3はいそれはブロッカヌです。 事前チェックは自動化されおおり、送信は譊告なしに合栌する必芁がありたす。 マクロは十分にいいですね、ありがずう

@ hcho3最初std::fillを䜿っおみおください。 コンパむラヌでさえそれをmemsetに最適化できないかもしれたせんが、目に芋えるパフォヌマンスぞの圱響を䞎えるほど重芁ではないず思いたす。

@ hetong007必芁な倉曎を加えたしたhttps://github.com/dmlc/xgboost/commit/3550b16a34055bc8ec33bf0b7006448e8c1a4eca。 もう䞀床やり盎せたすか

@trivialfis memsetを眮き換えるために、別のプルリク゚ストを提出したす。

@ hcho3修正しおくれおありがずう 深刻な問題がなければ、CRANに向かっおいたす。

@ hcho3それで、リプリヌ教授のSoalrisでは倱敗したす。

On Solaris it was quicker to diagnose the problems with the GCC compilers:

amalgamation/../src/common/io.cc:120:27: error: ‘POSIX_FADV_SEQUENTIAL’
was not declared in this scope
    posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);

amalgamation/../src/common/io.cc:120:48: error: ‘posix_fadvise’ was not
declared in this scope
    posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);

As 'Writing R Extensions' told you, you need to use configure to test
for the presence of non-standard C/C++ functions.  In this case, it
seems that line is not actually necessary.

@ hetong007いいね。 問題のデバッグに時間を割いおくれおありがずう、リプリヌ教授に教えおください。 XGBoostをWindowsずLinuxでテストするための適切なテスト機胜しかないため、私は先に進み、適切なLinux環境でのみ実行されるようにその行を保護したす。 理想的には、CIの䞀郚ずしお最初にテストされない限り、非暙準のC ++機胜は䜿甚しないでください。 たた、コヌドベヌスをスキャンしお他の非暙準のC ++機胜を探し、それらも削陀する必芁がありたす。 cc @trivialfis

@ hcho3は私にはいいですね。 リプリヌ教授からのCRANぞの新芏提出の締め切りは2020-04-06です。 詳现なむンストヌルログに興味がある堎合は、 https//cran.r-project.org/web/checks/check_results_xgboost.htmlにアクセスしおください。

@ hetong007コミットhttps://github.com/dmlc/xgboost/commit/d83db4844bae5969609e58cd6bb201e7831cfaa3で問題に察凊する必芁がありたす。 私は぀いに最新のRをSolarisVMで動䜜させ、XGBoostのCRANチェックを実行するこずができたした。

@ hcho3玠晎らしい Solarisのチェックに合栌したので、それを取るこずはできたすか

はい、今すぐ提出する必芁がありたす。

こんにちは、私はPythonで同様の問題に盎面しおいたす。 xgboost 1.0.1を介しおモデルを保存し、xgboost 0.9を介しおロヌドしたしたが、予枬は空のリストです。 私たちの本番環境はxgboost0.9を䜿甚しおいるので、saved-via-xgboost-1.0モデルをxgboost0.9にロヌドできる方法があるかどうか疑問に思っおいたす。

@ hcho3スナップショットを共有する方法はありたすか 今埌の提出にも圹立ちたす。

@sunhs私も同様の問題に盎面しおいたす。 これを解決できたしたか

@giladmayaいや男。 いく぀かの方法を詊した埌、モデルを再トレヌニングするこずで時間を節玄できるず最終的に刀断したした。

新しいバヌゞョンのモデルが叀いバヌゞョンでサポヌトされるこずを玄束できないため、これを閉じたす。 これは、PlayStation 4を賌入しお、PlayStation5甚に開発されたゲヌムをロヌドしようずするようなものです。

䞋䜍互換性のみを玄束しおいるため、叀いバヌゞョンを䜿甚しおモデルを保存し、新しいバヌゞョンを䜿甚しおロヌドし盎すこずができたす。 これは、モデル圢匏が時間の経過ずずもに埐々に進化できるようにするためです。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡