Skip to content

[CoreML Backend] Handle missing data types. #2984

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

Closed
wants to merge 1 commit into from

Conversation

cymbalrush
Copy link
Contributor

Changes

  • The runtime was failing if it encountered a datatype not supported by CoreML framework. The changes add support for all the datatypes that are supported by coremltools basically if CoreMLBackend can export a model then runtime would execute it. Complex types are not supported because coremltools doesn't support it.

  • Improves and cleans the multiarray copying code.

  • Adds portable ops to CoreML executor so that it can run a partitioned model.

Testing

  • Tested partitioned model coreml_stories.pte
  • Added multiarray copying tests.

Copy link

pytorch-bot bot commented Apr 11, 2024

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/2984

Note: Links to docs will display an error until the docs builds have been completed.

✅ You can merge normally! (2 Unrelated Failures)

As of commit e19fef3 with merge base b341223 (image):

BROKEN TRUNK - The following jobs failed but were present on the merge base:

👉 Rebase onto the `viable/strict` branch to avoid these failures

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Apr 11, 2024
@facebook-github-bot
Copy link
Contributor

@cccclai has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

Copy link

pytorch-bot bot commented Apr 11, 2024

Didn't find following labels among repository labels: ci/trunkflow

@cymbalrush
Copy link
Contributor Author

@pytorchbot label ciflow/trunk

@facebook-github-bot
Copy link
Contributor

@cccclai has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Contributor

@cccclai has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@cymbalrush cymbalrush force-pushed the fix_data_types branch 5 times, most recently from 8c6b612 to e110e6d Compare April 16, 2024 19:56
@facebook-github-bot
Copy link
Contributor

@cccclai has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@cccclai
Copy link
Contributor

cccclai commented Apr 16, 2024

Hey just to confirm, does this version work with simulator or real device only?

@cymbalrush
Copy link
Contributor Author

Hey just to confirm, does this version work with simulator or real device only?

Yes, it should work with simulator.

@cymbalrush
Copy link
Contributor Author

Tested on iPhone 15 Pro, iOS 17.4

Screenshot 2024-04-17 at 1 05 15 PM

@facebook-github-bot
Copy link
Contributor

@shoumikhin has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Contributor

@shoumikhin merged this pull request in d731866.

@cymbalrush
Copy link
Contributor Author

@pytorchbot cherry-pick --onto release/0.2 -c critical

pytorchbot pushed a commit that referenced this pull request Apr 18, 2024
Summary:
**Changes**
- The runtime was failing if it encountered a datatype not supported by CoreML framework. The changes add support for all the datatypes that are supported by coremltools basically if `CoreMLBackend` can export a model then runtime would execute it. Complex types are not supported because `coremltools` doesn't support it.

- Improves and cleans the multiarray copying code.

- Adds portable ops to CoreML executor so that it can run a partitioned model.

**Testing**
- Tested partitioned model `coreml_stories.pte`
- Added multiarray copying tests.

Pull Request resolved: #2984

Reviewed By: kirklandsign

Differential Revision: D56003795

Pulled By: shoumikhin

fbshipit-source-id: fa1c7846f9510d68c359aed6761aedb2d10c6f46
(cherry picked from commit d731866)
@pytorchbot
Copy link
Collaborator

Cherry picking #2984

The cherry pick PR is at #3134 and it is recommended to link a critical cherry pick PR with an issue

Details for Dev Infra team Raised by workflow job

cymbalrush added a commit that referenced this pull request Apr 18, 2024
Summary:
**Changes**
- The runtime was failing if it encountered a datatype not supported by CoreML framework. The changes add support for all the datatypes that are supported by coremltools basically if `CoreMLBackend` can export a model then runtime would execute it. Complex types are not supported because `coremltools` doesn't support it.

- Improves and cleans the multiarray copying code.

- Adds portable ops to CoreML executor so that it can run a partitioned model.

**Testing**
- Tested partitioned model `coreml_stories.pte`
- Added multiarray copying tests.

Pull Request resolved: #2984

Reviewed By: kirklandsign

Differential Revision: D56003795

Pulled By: shoumikhin

fbshipit-source-id: fa1c7846f9510d68c359aed6761aedb2d10c6f46
(cherry picked from commit d731866)
cymbalrush added a commit that referenced this pull request Apr 18, 2024
Summary:
**Changes**
- The runtime was failing if it encountered a datatype not supported by CoreML framework. The changes add support for all the datatypes that are supported by coremltools basically if `CoreMLBackend` can export a model then runtime would execute it. Complex types are not supported because `coremltools` doesn't support it.

- Improves and cleans the multiarray copying code.

- Adds portable ops to CoreML executor so that it can run a partitioned model.

**Testing**
- Tested partitioned model `coreml_stories.pte`
- Added multiarray copying tests.

Pull Request resolved: #2984

Reviewed By: kirklandsign

Differential Revision: D56003795

Pulled By: shoumikhin

fbshipit-source-id: fa1c7846f9510d68c359aed6761aedb2d10c6f46
(cherry picked from commit d731866)
cymbalrush added a commit that referenced this pull request Apr 22, 2024
Summary:
**Changes**
- The runtime was failing if it encountered a datatype not supported by CoreML framework. The changes add support for all the datatypes that are supported by coremltools basically if `CoreMLBackend` can export a model then runtime would execute it. Complex types are not supported because `coremltools` doesn't support it.

- Improves and cleans the multiarray copying code.

- Adds portable ops to CoreML executor so that it can run a partitioned model.

**Testing**
- Tested partitioned model `coreml_stories.pte`
- Added multiarray copying tests.

Pull Request resolved: #2984

Reviewed By: kirklandsign

Differential Revision: D56003795

Pulled By: shoumikhin

fbshipit-source-id: fa1c7846f9510d68c359aed6761aedb2d10c6f46
(cherry picked from commit d731866)
cymbalrush added a commit that referenced this pull request Apr 22, 2024
Summary:
**Changes**
- The runtime was failing if it encountered a datatype not supported by CoreML framework. The changes add support for all the datatypes that are supported by coremltools basically if `CoreMLBackend` can export a model then runtime would execute it. Complex types are not supported because `coremltools` doesn't support it.

- Improves and cleans the multiarray copying code.

- Adds portable ops to CoreML executor so that it can run a partitioned model.

**Testing**
- Tested partitioned model `coreml_stories.pte`
- Added multiarray copying tests.

Pull Request resolved: #2984

Reviewed By: kirklandsign

Differential Revision: D56003795

Pulled By: shoumikhin

fbshipit-source-id: fa1c7846f9510d68c359aed6761aedb2d10c6f46
(cherry picked from commit d731866)
guangy10 pushed a commit that referenced this pull request Apr 22, 2024
Summary:
**Changes**
- The runtime was failing if it encountered a datatype not supported by CoreML framework. The changes add support for all the datatypes that are supported by coremltools basically if `CoreMLBackend` can export a model then runtime would execute it. Complex types are not supported because `coremltools` doesn't support it.

- Improves and cleans the multiarray copying code.

- Adds portable ops to CoreML executor so that it can run a partitioned model.

**Testing**
- Tested partitioned model `coreml_stories.pte`
- Added multiarray copying tests.

Pull Request resolved: #2984

Reviewed By: kirklandsign

Differential Revision: D56003795

Pulled By: shoumikhin

fbshipit-source-id: fa1c7846f9510d68c359aed6761aedb2d10c6f46
(cherry picked from commit d731866)

Co-authored-by: Gyan Sinha <[email protected]>
This was referenced Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants