Code Monkey home page Code Monkey logo

Comments (11)

larskotthoff avatar larskotthoff commented on September 13, 2024

Wait, why are those packages not installed? They are listed in the Travis configuration and according to the log are getting installed as binary versions.

from mlr-tutorial.

berndbischl avatar berndbischl commented on September 13, 2024

the packages are installed, at least i guess so.
but they cannot be loaded because of the DLL problem. then mlr generates this message that the package is not installed.

from mlr-tutorial.

berndbischl avatar berndbischl commented on September 13, 2024

the only chance I see is
a) require the package only during training and not while we construct the object. we tried that once, it is not that easy and takes a longer time to test
b) generate the tables for the different types separately.

do you want to try b?

from mlr-tutorial.

schiffner avatar schiffner commented on September 13, 2024

It's like Bernd said. The packages are properly installed (at least I checked the travis log which does not show any errors in installing them), but cannot be loaded because of the DLL problem. These loading problems are caught by listLearners and lead to missing learners in the returned object.

b) generate the tables for the different types separately.

do you want to try b?

What exactly do you mean by "separately"?

from mlr-tutorial.

berndbischl avatar berndbischl commented on September 13, 2024

I meant with b): If the tables for different learner types are in different pages in the tutorial, it might be possible to generate them im different R processes. So not all packages are loaded at once.

Or do we have another chance?

from mlr-tutorial.

schiffner avatar schiffner commented on September 13, 2024

I'm not sure how many R processes we have there.

My impression from the logs was always that we have one process and the number of packages accumulates over different tutorial pages. For example the log file above continues with package loading errors in learner.Rmd, which comes directly after integrated_learners.Rmd:

Knitting file 'learner.Rmd' ...
Quitting from lines 143-154 () 
Error in head(listLearners("cluster", create = TRUE), 2) : 
  error in evaluating the argument 'x' in selecting a method for function 'head': Error in listLearners.character("cluster", create = TRUE) : 
  (converted from warning) The following learners could not be constructed, probably because their packages are not installed:
cluster.cmeans,cluster.kmeans
Check ?learners to see which packages you need or install mlr with all suggestions.
Calls: listLearners -> listLearners.character -> warningf
Calls: lapply ... withCallingHandlers -> withVisible -> eval -> eval -> head
Execution halted

You are certainly right that it would be easier to have different R processes if the tables are on different pages in the tutorial.
I'm taking a closer look at the build file now.

from mlr-tutorial.

berndbischl avatar berndbischl commented on September 13, 2024

My impression from the logs was always that we have one process and
the number of packages accumulates over different tutorial pages

I know. But if you have separate pages, we could do this at least in principle. Or do you want to somehow manually create the page for now? Is that easier?

from mlr-tutorial.

schiffner avatar schiffner commented on September 13, 2024

At the moment it works (although it's ugly), i.e., in the current tutorial version no learners are missing in the table.

The only thing I came up with yesterday is: As long term solution maybe we could

  • as you proposed have separate pages for different learner types,
  • have an additional argument for build which says which tutorial pages should be knit (can default to all pages, but when building the tutorial on travis we can use it to knit the learner tables separately from the other pages),
  • insert an additional condition into the build file to make sure that mkdocs is only called if all the md-files are there.

from mlr-tutorial.

berndbischl avatar berndbischl commented on September 13, 2024

Ok, I agree. Like I said, my most preferred solution would be to be able to construct the learner objects without having to load their packages. This would fix everything at once. But I really dont know how hard this would be. it SHOULD be doable.

from mlr-tutorial.

berndbischl avatar berndbischl commented on September 13, 2024

see #580.
I gues this might be doable.

from mlr-tutorial.

schiffner avatar schiffner commented on September 13, 2024

We now can create the learner tables without loading packages. See mlr-org/mlr#580 ✌️

Will adapt the integrated learners page and then close.

from mlr-tutorial.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.