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

Support Python 3.7 #228

Closed
TobyRoseman opened this issue Aug 20, 2018 · 13 comments

Comments

@TobyRoseman
Copy link
Collaborator

commented Aug 20, 2018

A new version of Python (3.7) was officially released almost two months ago. We should support using coremltools in this new language version. This will mean generating additional wheels and uploading those to PyPI.

@printdhruv

This comment has been minimized.

Copy link

commented Jan 15, 2019

Any update on python3.7 ?

@TobyRoseman

This comment has been minimized.

Copy link
Collaborator Author

commented Jan 15, 2019

@printdhruv - our dependencies still do not support 3.7, so we can't either.

@mittagessen

This comment has been minimized.

Copy link

commented Feb 25, 2019

Are you sure? tensorflow has added python 3.7 support a few weeks ago. As the blocker are only the test requirements and not runtime, in addition to the requirements being pinned anyway, there's no reason not to bump up the version and get a 3.7 release out finally.

@TobyRoseman

This comment has been minimized.

Copy link
Collaborator Author

commented Feb 25, 2019

@printdhruv

This comment has been minimized.

Copy link

commented Feb 25, 2019

@mittagessen @TobyRoseman However, It has Python3.7 nightly build release.
Check this link https://pypi.org/project/tf-nightly/

It says following version are supported.
screen shot 2019-02-25 at 12 48 38 pm

@mittagessen

This comment has been minimized.

Copy link

commented Feb 25, 2019

@TobyRoseman I was talking about the release candidates. As tensorflow is only a hard requirement for the tests and for some infathomable all packages are pinned to a specific version just bumping the test_requirements.pip version would be sufficient for a coreml python 3.7 release. If you want to use (stable) tensorflow with coremltools you will be running python 3.6 anyway and those using coremltools with other frameworks won't have to wait for Google getting around to support 3.7 sometime in the next few months.

@TobyRoseman

This comment has been minimized.

Copy link
Collaborator Author

commented Mar 5, 2019

TensorFlow 1.13.1 has been release on PyPI with support for Python 3.7:
https://pypi.org/project/tensorflow/#files

@hotcobra

This comment has been minimized.

Copy link

commented Mar 28, 2019

Any idea when 3.7 will be supported?

@TobyRoseman

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 18, 2019

Generating the wheel with Python 3.7 works fine. The wheel can also be imported without error.

In order to run the unit tests we need to update our test dependencies (I just used the most recent version of each one).

Here is the summary of running pytest -rfXs -m "not slow" coremltools/test:

collected 1286 items / 90 deselected / 1196 selected                                                                                                 

coremltools/test/test_NuSVC.py FF.FF...                                                                                                        [  0%]
coremltools/test/test_NuSVR.py .F....                                                                                                          [  1%]
coremltools/test/test_SVC.py FF.FF......                                                                                                       [  2%]
coremltools/test/test_SVR.py .F....                                                                                                            [  2%]
coremltools/test/test_boosted_trees_classifier.py ..F.                                                                                         [  2%]
coremltools/test/test_boosted_trees_classifier_numeric.py ..                                                                                   [  3%]
coremltools/test/test_boosted_trees_regression.py F.....                                                                                       [  3%]
coremltools/test/test_boosted_trees_regression_numeric.py ........F                                                                            [  4%]
coremltools/test/test_caffe2_numeric.py s                                                                                                      [  4%]
coremltools/test/test_caffe_stress_tests.py sssssssssssss                                                                                      [  5%]
coremltools/test/test_categorical_imputer.py ..                                                                                                [  5%]
coremltools/test/test_composite_pipelines.py ..                                                                                                [  5%]
coremltools/test/test_custom_neural_nets.py .                                                                                                  [  5%]
coremltools/test/test_decision_tree_classifier.py ..F.                                                                                         [  6%]
coremltools/test/test_decision_tree_classifier_numeric.py ..                                                                                   [  6%]
coremltools/test/test_decision_tree_regression.py F.                                                                                           [  6%]
coremltools/test/test_decision_tree_regression_numeric.py .                                                                                    [  6%]
coremltools/test/test_dict_vectorizer.py .F.                                                                                                   [  6%]
coremltools/test/test_feature_names.py ..                                                                                                      [  7%]
coremltools/test/test_glm_classifier.py ..FF                                                                                                   [  7%]
coremltools/test/test_imputer.py .                                                                                                             [  7%]
coremltools/test/test_io_types.py .........F.                                                                                                  [  8%]
coremltools/test/test_keras.py ssssssssssssssssssssssss                                                                                        [ 10%]
coremltools/test/test_keras2.py ..........................xF                                                                                   [ 12%]
coremltools/test/test_keras2_numeric.py ..................................x................................................................... [ 21%]
....................................................                                                                                           [ 25%]
coremltools/test/test_keras_nonseq.py sss                                                                                                      [ 25%]
coremltools/test/test_keras_numeric.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss    [ 34%]
coremltools/test/test_linear_regression.py ....                                                                                                [ 34%]
coremltools/test/test_model.py s........                                                                                                       [ 35%]
coremltools/test/test_multiple_images_preprocessing.py sssss..                                                                                 [ 35%]
coremltools/test/test_neural_networks.py sss..                                                                                                 [ 36%]
coremltools/test/test_nn_builder.py ...F..                                                                                                     [ 36%]
coremltools/test/test_normalizer.py ..                                                                                                         [ 37%]
coremltools/test/test_numpy_nn_layers.py .......................                                                                               [ 38%]
coremltools/test/test_one_hot_encoder.py ...FF..                                                                                               [ 39%]
coremltools/test/test_pipeline.py ....                                                                                                         [ 39%]
coremltools/test/test_quantization.py ........................................................................................................ [ 48%]
.............................................................................................................................................. [ 60%]
.............................................................................................................................................. [ 72%]
.............................................................................................................................................. [ 84%]
......................................................................................................................................                                                                                                                                                                                                                               [ 95%]
coremltools/test/test_random_forest_classifier.py F.F.                                                                                                                                                                                                                                                                                                               [ 95%]
coremltools/test/test_random_forest_classifier_numeric.py ..                                                                                                                                                                                                                                                                                                         [ 95%]
coremltools/test/test_random_forest_regression.py F.                                                                                                                                                                                                                                                                                                                 [ 96%]
coremltools/test/test_random_forest_regression_numeric.py ..                                                                                                                                                                                                                                                                                                         [ 96%]
coremltools/test/test_recurrent_stress_tests.py sss...s..ss.s.sss...sFF                                                                                                                                                                                                                                                                                              [ 98%]
coremltools/test/test_shaper_bindings.py EEEEE                                                                                                                                                                                                                                                                                                                       [ 98%]
coremltools/test/test_simple_recurrent_single_layer.py s.s.s.                                                                                                                                                                                                                                                                                                        [ 99%]
coremltools/test/test_standard_scalar.py ..                                                                                                                                                                                                                                                                                                                          [ 99%]
coremltools/test/test_tf_numeric.py FFFFFFFF                                                                                                                                                                                                                                                                                                                         [ 99%]
coremltools/test/test_utils.py .                                                   
@TobyRoseman

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 19, 2019

Now that #353 has been merged, here is a list of tests which are failing:

test_keras2.py::KerasSingleLayerTest::test_upsample
test_boosted_trees_classifier.py::GradientBoostingMulticlassClassifierScikitTest::test_conversion
test_boosted_trees_regression.py::GradientBoostingRegressorScikitTest::test_conversion
test_boosted_trees_regression_numeric.py::XGboostRegressorBostonHousingNumericTest::test_boston_housing_simple_random_forest_regression
test_decision_tree_classifier.py::DecisionTreeMultiClassClassifierScikitTest::test_conversion
test_decision_tree_regression.py::DecisionTreeRegressorScikitTest::test_conversion
test_dict_vectorizer.py::DictVectorizerScikitTest::test_int_features_in_pipeline
test_glm_classifier.py::GlmCassifierTest::test_logistic_regression_binary_classification_with_string_labels
test_glm_classifier.py::GlmCassifierTest::test_logistic_regression_multiclass_classification_with_int_labels
test_one_hot_encoder.py::OneHotEncoderScikitTest::test_conversion_many_columns
test_one_hot_encoder.py::OneHotEncoderScikitTest::test_conversion_one_column
test_random_forest_classifier.py::RandomForestBinaryClassifierScikitTest::test_conversion
test_random_forest_classifier.py::RandomForestMultiClassClassifierScikitTest::test_conversion
test_random_forest_regression.py::RandomForestRegressorScikitTest::test_conversion
test_recurrent_stress_tests.py::InitialStateRecurrentModels::test_initial_state_LSTM
test_recurrent_stress_tests.py::InitialStateRecurrentModels::test_initial_state_SimpleRNN

Most of these failures are a result of updating our test dependencies, not a result of python 3.7.

@TobyRoseman

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 22, 2019

I've just verified that none of the failing unit tests are related to Python 3.7. All failures are a result of upgrading our test requirements; using the most recent versions of our test requirements we get the exact same failures using Python 3.6.

@tomharper

This comment has been minimized.

Copy link

commented May 6, 2019

Any status on this one?

@TobyRoseman

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 8, 2019

The most recent beta now support Python 3.7. To install run: pip install coremltools==3.0b1

@TobyRoseman TobyRoseman closed this Jun 8, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.