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
Closed

Support Python 3.7 #228

TobyRoseman opened this issue Aug 20, 2018 · 13 comments

Comments

@TobyRoseman
Copy link
Collaborator

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
Copy link

Any update on python3.7 ?

@TobyRoseman
Copy link
Collaborator Author

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

@mittagessen
Copy link

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
Copy link
Collaborator Author

@printdhruv
Copy link

@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
Copy link

@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
Copy link
Collaborator Author

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

@hotcobra
Copy link

Any idea when 3.7 will be supported?

@TobyRoseman
Copy link
Collaborator Author

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
Copy link
Collaborator Author

TobyRoseman 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
Copy link
Collaborator Author

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
Copy link

Any status on this one?

@TobyRoseman
Copy link
Collaborator Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants