Skip to content

Commit 7fad1c9

Browse files
committed
remove openml version from dependencies, add to external version
1 parent d8c53a3 commit 7fad1c9

2 files changed

Lines changed: 9 additions & 19 deletions

File tree

openml/flows/sklearn_converter.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,7 @@ def _serialize_model(model):
198198
external_version = _get_external_version_string(model, sub_components)
199199

200200
dependencies = [_format_external_version('sklearn', sklearn.__version__),
201-
'numpy>=1.6.1', 'scipy>=0.9',
202-
_format_external_version('openml', openml.__version__)]
201+
'numpy>=1.6.1', 'scipy>=0.9']
203202
dependencies = '\n'.join(dependencies)
204203

205204
flow = OpenMLFlow(name=name,
@@ -237,8 +236,10 @@ def _get_external_version_string(model, sub_components):
237236
model_package_version_number = module.__version__
238237
external_version = _format_external_version(model_package_name,
239238
model_package_version_number)
239+
openml_version = _format_external_version('openml', openml.__version__)
240240
external_versions = set()
241241
external_versions.add(external_version)
242+
external_versions.add(openml_version)
242243
for visitee in sub_components.values():
243244
for external_version in visitee.external_version.split(','):
244245
external_versions.add(external_version)
@@ -429,13 +430,8 @@ def _check_dependencies(dependencies):
429430
raise NotImplementedError(
430431
'operation \'%s\' is not supported' % operation)
431432
if not check:
432-
if dependency_name == 'openml':
433-
warnings.warn('De-serializing a flow which was created with '
434-
'openml==%s, this is openml==%s.' %
435-
(openml.__version__, version))
436-
else:
437-
raise ValueError('Trying to deserialize a model with dependency '
438-
'%s not satisfied.' % dependency_string)
433+
raise ValueError('Trying to deserialize a model with dependency '
434+
'%s not satisfied.' % dependency_string)
439435

440436

441437
def serialize_type(o):

tests/test_flows/test_sklearn.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ def test_serialize_model(self, check_dependencies_mock):
6464

6565
fixture_name = 'sklearn.tree.tree.DecisionTreeClassifier'
6666
fixture_description = 'Automatically created scikit-learn flow.'
67-
version_fixture = 'sklearn==%s\nnumpy>=1.6.1\nscipy>=0.9\nopenml==%s' \
68-
'' % (sklearn.__version__, openml.__version__)
67+
version_fixture = 'sklearn==%s\nnumpy>=1.6.1\nscipy>=0.9' \
68+
% sklearn.__version__
6969
fixture_parameters = \
7070
OrderedDict((('class_weight', 'null'),
7171
('criterion', '"entropy"'),
@@ -522,7 +522,8 @@ def test_subflow_version_propagated(self):
522522
# I put the alternative travis-ci answer here as well. While it has a
523523
# different value, it is still correct as it is a propagation of the
524524
# subclasses' module name
525-
self.assertEqual(flow.external_version, '%s,%s' % (
525+
self.assertEqual(flow.external_version, '%s,%s,%s' % (
526+
_format_external_version('openml', openml.__version__),
526527
_format_external_version('sklearn', sklearn.__version__),
527528
_format_external_version('tests', '0.1')))
528529

@@ -531,13 +532,6 @@ def test_check_dependencies(self, warnings_mock):
531532
dependencies = ['sklearn==0.1', 'sklearn>=99.99.99', 'sklearn>99.99.99']
532533
for dependency in dependencies:
533534
self.assertRaises(ValueError, _check_dependencies, dependency)
534-
dependency = 'openml==0.0.12345'
535-
_check_dependencies(dependency)
536-
self.assertEqual(warnings_mock.call_count, 1)
537-
self.assertEqual(warnings_mock.call_args[0][0],
538-
'De-serializing a flow which was created with '
539-
'openml==%s, this is openml==%s.' % (
540-
openml.__version__, '0.0.12345'))
541535

542536
def test_illegal_parameter_names(self):
543537
# illegal name: estimators

0 commit comments

Comments
 (0)