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

Disable auto-download by default + improve test stability #3076

Merged
merged 53 commits into from
Nov 2, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
df5f5f4
Disable auto-download by default.
zoq Oct 16, 2021
7ba40bd
Ignore invalid and self signed ssl connection errors.
zoq Oct 16, 2021
e550343
The auto-download is disabled by default, so we have to install ensma…
zoq Oct 16, 2021
c479e0d
To not run image tests if we build without image load support.
zoq Oct 16, 2021
26d03f0
Adjust threshold to improve test stability.
zoq Oct 17, 2021
329d461
Lower the memory limit to construct precompiled headers to free some …
zoq Oct 17, 2021
68cb6ee
Check if we are cross-compiling.
zoq Oct 17, 2021
8269633
Adjust threshold to improve test stability.
zoq Oct 17, 2021
0dadc81
Adjust trials to improve test stability.
zoq Oct 17, 2021
1abba7e
Fix parameter order warning.
zoq Oct 17, 2021
bc57be3
Install hdf5 package for the R build workflow.
zoq Oct 17, 2021
fa2f849
Explicitly download dependencies for R CI build.
zoq Oct 18, 2021
8932e48
Adjust trials to improve test stability.
zoq Oct 18, 2021
7838ef5
Use auto-downloader to install armadillo.
zoq Oct 18, 2021
14dd23f
The Ubuntu 16.04 image was removed on October 18, so switch to the la…
zoq Oct 18, 2021
d9d3122
Help to change into the correct directory.
zoq Oct 18, 2021
af9d529
Help to change into the correct directory.
zoq Oct 18, 2021
f3f8855
Single core build to lower the memory usage.
zoq Oct 18, 2021
5eb6405
Single core build only for the core build.
zoq Oct 18, 2021
05dbdc2
Check system memory.
zoq Oct 19, 2021
8c6e1ea
Can we create a swap file.
zoq Oct 19, 2021
e0d930e
Use sudo to create the swap file.
zoq Oct 19, 2021
248c72d
Config simplification.
zoq Oct 19, 2021
440cffb
Increase number of samples.
zoq Oct 19, 2021
62bb419
Update Julia version.
zoq Oct 20, 2021
42ae6f2
Merge branch 'master' into auto-download-default-off
zoq Oct 20, 2021
a9a8e0c
Increase number of trails for the SAC on Pendulum test.
zoq Oct 20, 2021
c6cc8e7
Adjust threshold to improve test stability.
zoq Oct 20, 2021
3a5d81b
Use larger tolerance in order to get the probability of failure down.
zoq Oct 20, 2021
5b31dd3
Use larger tolerance in order to get the probability of failure down.
zoq Oct 20, 2021
3f745ad
Adjust trials to improve test stability.
zoq Oct 20, 2021
a317180
Use larger tolerance in order to get the probability of failure down.
zoq Oct 21, 2021
2e25c69
Merge branch 'master' into auto-download-default-off
zoq Oct 21, 2021
5de5a6e
Use the updated boost package.
zoq Oct 22, 2021
cf3df9b
Let's see what the actual path is.
zoq Oct 22, 2021
55f2e5f
Use the correct boost include path.
zoq Oct 22, 2021
c624159
Install armadillo from package registry.
zoq Oct 23, 2021
605d315
Remove armadillo build command.
zoq Oct 23, 2021
a276c72
Install complete libcurl-dev package.
zoq Oct 23, 2021
a2eb66c
Is that a seperate block?.
zoq Oct 23, 2021
2a2938b
Is the cache needed?.
zoq Oct 23, 2021
fd10d8c
Adjust threshold to improve test stability.
zoq Oct 23, 2021
054c23f
Let's see if that saves us some memory.
zoq Oct 23, 2021
8844a3a
Can we increase the page size without a system reboot.
zoq Oct 23, 2021
65bce43
Create page file first.
zoq Oct 24, 2021
0639a47
Use another path.
zoq Oct 24, 2021
69000ac
Debug page size.
zoq Oct 24, 2021
1e5ee4b
Adjust precompiled header memory allocation limit.
zoq Oct 24, 2021
f063f13
Test the other direction.
zoq Oct 24, 2021
5ac9c90
Exclude activation function test from windows build.
zoq Oct 24, 2021
af90372
Check for win 64 as well.
zoq Oct 25, 2021
7359cae
Revert Windows related debug steps.
zoq Oct 25, 2021
bf71db3
Remove extra empty line
zoq Oct 28, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions .ci/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
- job: Linux
timeoutInMinutes: 360
pool:
vmImage: ubuntu-16.04
vmImage: ubuntu-latest
strategy:
matrix:
Plain:
Copy link
Member

Choose a reason for hiding this comment

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

You'll also need to change the Julia versions here to 1.6.3 (throughout the file), and the -DJULIA_EXECUTABLE option to -DJULIA_EXECUTABLE=/opt/julia-1.6.3/bin/julia.

Expand All @@ -22,7 +22,7 @@ jobs:
CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF'
Julia:
julia.version: '1.3.0'
CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_GO_BINDINGS=OFF -DJULIA_EXECUTABLE=/opt/julia-1.3.0/bin/julia -DBUILD_R_BINDINGS=OFF'
CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_GO_BINDINGS=OFF -DJULIA_EXECUTABLE=/opt/julia-1.6.3/bin/julia -DBUILD_R_BINDINGS=OFF'
Go:
binding: 'go'
go.version: '1.11.0'
Expand All @@ -48,7 +48,7 @@ jobs:
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF'
Julia:
python.version: '2.7'
julia.version: '1.3.0'
julia.version: '1.6.3'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF'
Go:
binding: 'go'
Expand Down
25 changes: 14 additions & 11 deletions .ci/linux-steps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ steps:

# Install build dependencies.
- script: |
# Workaround to avoid a build failure, because we run out of memory.
free -h
df -h
sudo dd if=/dev/zero of=/usr/swapfile.img bs=1024 count=12M
sudo mkswap /usr/swapfile.img
sudo swapon /usr/swapfile.img
free -h
df -h

git clone --depth 1 https://github.com/mlpack/jenkins-conf.git conf

sudo add-apt-repository ppa:mhier/libboost-latest
Expand All @@ -30,12 +39,12 @@ steps:
fi

if [ "a$(julia.version)" != "a" ]; then
wget https://julialang-s3.julialang.org/bin/linux/x64/1.3/julia-1.3.0-linux-x86_64.tar.gz
sudo tar -C /opt/ -xvpf julia-1.3.0-linux-x86_64.tar.gz
wget https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.3-linux-x86_64.tar.gz
sudo tar -C /opt/ -xvpf julia-1.6.3-linux-x86_64.tar.gz
fi
Copy link
Member

Choose a reason for hiding this comment

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

I can't provide it as a suggestion, but I think simply changing the URL should be sufficient:

      wget https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.3-linux-x86_64.tar.gz
      sudo tar -C /opt/ -xvpf julia-1.6.3-linux-x86_64.tar.gz


# Install armadillo.
curl -L https://sourceforge.net/projects/arma/files/armadillo-9.800.6.tar.xz | tar -xvJ && \
curl -k -L https://sourceforge.net/projects/arma/files/armadillo-9.800.6.tar.xz | tar -xvJ && \
cd armadillo* && \
cmake . && \
make && \
Expand All @@ -45,7 +54,7 @@ steps:
# Install ensmallen.
wget https://ensmallen.org/files/ensmallen-latest.tar.gz
tar -xvzpf ensmallen-latest.tar.gz # Unpack into ensmallen-*/.
cd ensmallen-* && \
cd ensmallen-*/ && \
sudo cp -vr include/* /usr/include/ && \
cd ..

Expand Down Expand Up @@ -77,13 +86,7 @@ steps:
displayName: 'CMake'

# Build mlpack
- script: cd build && make && make mlpack_test
condition: eq(variables['CMakeArgs'], '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF')
displayName: 'Build'

# Build mlpack
- script: cd build && make -j2 && make -j2 mlpack_test
condition: ne(variables['CMakeArgs'], '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF')
- script: cd build && make -j2 && make mlpack_test -j2
displayName: 'Build'

# Run tests via ctest.
Expand Down
4 changes: 2 additions & 2 deletions .ci/windows-steps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ steps:
-DLAPACK_LIBRARIES:FILEPATH=$(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\lib\x64\libopenblas.dll.a `
-DARMADILLO_INCLUDE_DIR="..\armadillo-9.800.6\tmp\include" `
-DARMADILLO_LIBRARY="..\armadillo-9.800.6\Release\armadillo.lib" `
-DBOOST_INCLUDEDIR=$(Agent.ToolsDirectory)\boost.1.60.0.0\lib\native\include `
-DBOOST_INCLUDEDIR=$(Agent.ToolsDirectory)\boost.1.66.0.0\lib\native\include `
-DBOOST_LIBRARYDIR=$(Agent.ToolsDirectory)\boost_libs `
-DCEREAL_INCLUDE_DIR=$(Agent.ToolsDirectory)\unofficial-flayan-cereal.1.2.2\build\native\include `
-DENSMALLEN_INCLUDE_DIR=$(Agent.ToolsDirectory)\ensmallen.2.17.0\installed\x64-linux\include `
Expand Down Expand Up @@ -87,7 +87,7 @@ steps:
# Run tests via ctest.
- bash: |
cd build
cmake --build . --target mlpack_test -C Release
cmake --build . --target mlpack_test
CTEST_OUTPUT_ON_FAILURE=1 ctest -T Test -C Release . -j1
displayName: 'Run tests via ctest'

Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,7 @@ jobs:
- name: Install Build Dependencies
run: |
sudo apt-get update
sudo apt-get install -y --allow-unauthenticated libopenblas-dev liblapack-dev g++ libboost-all-dev libcereal-dev libcurl4-openssl-dev
curl -L https://sourceforge.net/projects/arma/files/armadillo-9.800.6.tar.xz | tar -xvJ && cd armadillo*
cmake . && make && sudo make install && cd ..
sudo apt-get install -y --allow-unauthenticated libopenblas-dev liblapack-dev g++ libboost-all-dev libcereal-dev libensmallen-dev libhdf5-dev libarmadillo-dev libcurl4-openssl-dev

- name: Install R-bindings dependencies
run: |
Expand All @@ -64,7 +62,7 @@ jobs:
- name: CMake
run: |
mkdir build
cd build && cmake -DDEBUG=OFF -DPROFILE=OFF -DBUILD_CLI_EXECUTABLES=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON ..
cd build && cmake -DDEBUG=OFF -DPROFILE=OFF -DBUILD_CLI_EXECUTABLES=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON -DDOWNLOAD_DEPENDENCIES=ON ..
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
cd build && cmake -DDEBUG=OFF -DPROFILE=OFF -DBUILD_CLI_EXECUTABLES=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON -DDOWNLOAD_DEPENDENCIES=ON ..
cd build && pwd && cmake -G"Unix Makefiles" -DDEBUG=OFF -DPROFILE=OFF -DBUILD_CLI_EXECUTABLES=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON -DDOWNLOAD_DEPENDENCIES=ON ..

I read the log but don't really understand what happened. Can you try this? And maybe also add pwd and ls to the Build step below too?

Copy link
Member Author

Choose a reason for hiding this comment

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

Forgot to remove the previously used armadillo build command.

Copy link
Member

Choose a reason for hiding this comment

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

I guess I didn't look high enough up in the log :)


- name: Build
run: |
Expand Down Expand Up @@ -127,6 +125,12 @@ jobs:
key: ${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('depends.Rds') }}
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-

- name: Install check dependencies
if: runner.os != 'Windows' && runner.os != 'macOS'
run: |
sudo apt-get update
sudo apt-get install -y --allow-unauthenticated libcurl4-openssl-dev

- name: Install dependencies
run: |
install.packages('remotes')
Expand Down
17 changes: 11 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ else()
"Compile shared libraries (if OFF, static libraries and binaries are compiled)." ON)
endif()

# Enable auto-download if we are cross compiling.
if (CMAKE_CROSSCOMPILING)
set(DOWNLOAD_DEPENDENCIES ON)
endif()

# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES.
if (NOT BUILD_SHARED_LIBS)
if(WIN32)
Expand Down Expand Up @@ -157,7 +162,7 @@ set(COMPILER_SUPPORT_LIBRARIES "")
# If we are using MSVC, we need /bigobj.
if (MSVC)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj /Zm400 /Zc:__cplusplus")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj /Zm200 /Zc:__cplusplus")
endif ()

# If we are using MINGW, we need sections and big-obj, otherwise we create too
Expand Down Expand Up @@ -283,7 +288,7 @@ if (CMAKE_CROSSCOMPILING)
search_openblas(0.3.13)
endif()

if (DOWNLOAD_DEPENDENCIES)
if (NOT DOWNLOAD_DEPENDENCIES)
find_package(Armadillo "${ARMADILLO_VERSION}" REQUIRED)
else()
find_package(Armadillo "${ARMADILLO_VERSION}")
Expand All @@ -305,7 +310,7 @@ set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${ARMADILLO_INCLUDE_DIRS})
set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${ARMADILLO_LIBRARIES})

# Find stb_image.h and stb_image_write.h.
if (DOWNLOAD_DEPENDENCIES)
if (NOT DOWNLOAD_DEPENDENCIES)
find_package(StbImage)
else()
find_package(StbImage)
Expand All @@ -323,7 +328,7 @@ if (STB_IMAGE_FOUND)
endif()

# Find ensmallen.
if (DOWNLOAD_DEPENDENCIES)
if (NOT DOWNLOAD_DEPENDENCIES)
find_package(Ensmallen "${ENSMALLEN_VERSION}" REQUIRED)
else()
find_package(Ensmallen "${ENSMALLEN_VERSION}")
Expand All @@ -336,7 +341,7 @@ endif()
set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} "${ENSMALLEN_INCLUDE_DIR}")

# Find cereal.
if (DOWNLOAD_DEPENDENCIES)
if (NOT DOWNLOAD_DEPENDENCIES)
find_package(cereal "${CEREAL_VERSION}" REQUIRED)
else()
find_package(cereal "${CEREAL_VERSION}")
Expand Down Expand Up @@ -377,7 +382,7 @@ set(Boost_ADDITIONAL_VERSIONS
# TODO for the brave: transition all mlpack's CMake to 'target-based modern
# CMake'. Good luck! You'll need it.
set(Boost_NO_BOOST_CMAKE 1)
if (DOWNLOAD_DEPENDENCIES)
if (NOT DOWNLOAD_DEPENDENCIES)
find_package(Boost "${BOOST_VERSION}" REQUIRED)
else()
find_package(Boost "${BOOST_VERSION}")
Expand Down
8 changes: 4 additions & 4 deletions src/mlpack/methods/ann/layer/convolution_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -162,12 +162,12 @@ Convolution<
padWRight(layer.padWRight),
padHBottom(layer.padHBottom),
padHTop(layer.padHTop),
weights(layer.weights),
inputWidth(layer.inputWidth),
inputHeight(layer.inputHeight),
outputWidth(layer.outputWidth),
outputHeight(layer.outputHeight),
padding(layer.padding),
weights(layer.weights)
padding(layer.padding)
{
// Nothing to do here.
}
Expand Down Expand Up @@ -197,12 +197,12 @@ Convolution<
padWRight(layer.padWRight),
padHBottom(layer.padHBottom),
padHTop(layer.padHTop),
weights(std::move(layer.weights)),
inputWidth(layer.inputWidth),
inputHeight(layer.inputHeight),
outputWidth(layer.outputWidth),
outputHeight(layer.outputHeight),
padding(std::move(layer.padding)),
weights(std::move(layer.weights))
padding(std::move(layer.padding))
Copy link
Member

Choose a reason for hiding this comment

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

Thank you for these warning fixes! 💯

{
// Nothing to do here.
}
Expand Down
56 changes: 34 additions & 22 deletions src/mlpack/tests/cf_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -225,35 +225,46 @@ template<typename DecompositionPolicy,
typename InterpolationPolicy = AverageInterpolation>
void CFPredict(const double rmseBound = 1.5)
{
DecompositionPolicy decomposition;
// We run the test multiple times, since it sometimes fails, in order to get
// the probability of failure down.
bool success = false;
const size_t trials = 8;
for (size_t trial = 0; trial < trials; ++trial)
{
DecompositionPolicy decomposition;

// Small GroupLens dataset.
arma::mat dataset;
// Small GroupLens dataset.
arma::mat dataset;

// Save the columns we've removed.
arma::mat savedCols;
// Save the columns we've removed.
arma::mat savedCols;

GetDatasets(dataset, savedCols);
GetDatasets(dataset, savedCols);

CFType<DecompositionPolicy,
NormalizationType> c(dataset, decomposition, 5, 5, 30);
CFType<DecompositionPolicy,
NormalizationType> c(dataset, decomposition, 5, 5, 30);

// Now, for each removed rating, make sure the prediction is... reasonably
// accurate.
double totalError = 0.0;
for (size_t i = 0; i < savedCols.n_cols; ++i)
{
const double prediction = c.template Predict<NeighborSearchPolicy,
InterpolationPolicy>(savedCols(0, i), savedCols(1, i));
// Now, for each removed rating, make sure the prediction is... reasonably
// accurate.
double totalError = 0.0;
for (size_t i = 0; i < savedCols.n_cols; ++i)
{
const double prediction = c.template Predict<NeighborSearchPolicy,
InterpolationPolicy>(savedCols(0, i), savedCols(1, i));

const double error = std::pow(prediction - savedCols(2, i), 2.0);
totalError += error;
}
const double error = std::pow(prediction - savedCols(2, i), 2.0);
totalError += error;
}

const double rmse = std::sqrt(totalError / savedCols.n_cols);
const double rmse = std::sqrt(totalError / savedCols.n_cols);
if (rmse < rmseBound)
{
success = true;
break;
}
}

// The root mean square error should be less than ?.
REQUIRE(rmse < rmseBound);
REQUIRE(success == true);
}

// Do the same thing as the previous test, but ensure that the ratings we
Expand Down Expand Up @@ -1220,8 +1231,9 @@ TEST_CASE("CFPredictSimilarityInterpolation", "[CFTest]")
*/
TEST_CASE("CFPredictRegressionInterpolation", "[CFTest]")
{
// Larger tolerance is sometimes needed.
CFPredict<RegSVDPolicy,
OverallMeanNormalization,
EuclideanSearch,
RegressionInterpolation>(2.0);
RegressionInterpolation>(2.2);
}
8 changes: 4 additions & 4 deletions src/mlpack/tests/decision_tree_regressor_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ TEST_CASE("MultiSplitTest2", "[DecisionTreeRegressorTest]")
arma::rowvec responses;
arma::rowvec values = {0.0, 1.0, 2.0, 1.0, 0.0};

CreateMultiSplitData(dataset, responses, 100, values);
CreateMultiSplitData(dataset, responses, 1000, values);

arma::rowvec weights(responses.n_elem);
weights.ones();
Expand Down Expand Up @@ -931,7 +931,7 @@ TEST_CASE("CategoricalMADGainWeightedBuildTest", "[DecisionTreeRegressorTest]")

// Make sure we get reasonable rmse.
const double rmse = RMSE(predictions, testResponses);
REQUIRE(rmse < 1.0);
REQUIRE(rmse < 1.05);
}

/**
Expand Down Expand Up @@ -959,7 +959,7 @@ TEST_CASE("SimpleGeneralizationTest_", "[DecisionTreeRegressorTest]")

// Figure out rmse.
double rmse = RMSE(predictions, testResponses);
REQUIRE(rmse < 6.0);
REQUIRE(rmse < 6.1);

// Reset the predictions.
predictions.zeros();
Expand All @@ -969,7 +969,7 @@ TEST_CASE("SimpleGeneralizationTest_", "[DecisionTreeRegressorTest]")

// Figure out rmse.
rmse = RMSE(predictions, testResponses);
REQUIRE(rmse < 6.0);
REQUIRE(rmse < 6.1);
}

/**
Expand Down