Comments (8)
I have slight preference for .onnx too (as it's easier to distinguish which format the .pb is in). Shall we go for it?
from models.
Fixed here: onnx/onnx#541
from models.
My thoughts:
- I feel it's more important for user to know it is a ONNX file and thus can be used by various ONNX-compatible tools/libraries than to know it is protobuf. The only hesitation I can see is if we think we will move to a multi-file format soon and .onnx will be used for the container, i.e. zip file.
- This is a valid concern but we should implement versioning on the models. Old versions should be left as-is. A new version should be created with the updates.
from models.
Using .onnx makes sense to me.
I believe the files are named model and put in different subfolders to simplify automated testing.
@bddppq to comment too
from models.
Two reasons for why I'm a little bit hesitated to change the file extension:
- It confuses users. With the .pb suffix users immediately know the models files are in fact protobuf files, all pb libs/tools are automatically usable.
- This second reason does not only apply to changing the suffix but in general to changing the model file name. We hardcoded this in couple places, including the ONNX backend test suite. If we change model files' name now (and presumably also update all the places in repos we have control), all installations of older versions of onnx (including the v1.0) and external repos that depend on onnx will encounter problem.
from models.
Agree, .onnx
is the way to go.
For example, an app like Netron supports loading ONNX and TensorFlow models and both use .pb
. There is no way telling which format a file contains other than crossing fingers that the decode()
will crash gracefully. Also, the app registers both file extension with the shell and all ONNX .pb
files now show as TensorFlow Model
in Explorer or Finder. Not a great experience...
.pb
files require a known .proto
to be loaded and experts that can figure out those steps probably won't stumble on how to handle an .onnx
file. CoreML seems to be similar in that regard and has opted for protobuf with an .mlmodel
extension.
from models.
I agree, .onnx is better than .pb
from models.
Alright majority rules :-) Updated the corresponding issue #14
from models.
Related Issues (20)
- Most of the links in the README.md file are broken HOT 2
- Add "new" models to ONNX Model Hub tool HOT 1
- Resnet50 is no longer 'available' through the hub.load() since the model hub revamp HOT 4
- Numpy deprecating alias np.bool when running 'python imagenet_inference.py'
- Adding newest Marigold and TikTok Depth estimation models in onnx.
- Error: No module named retinanet found
- Add a link back to the Github page for models under the validated directory HOT 1
- Remove skipped models from the webpage HOT 1
- Simple 3D *face* reconstruction model from single image for Interactive 3D apps
- onnx model conversion HOT 5
- Squeezenet1.0 models give wrong prediction results HOT 3
- Huggingface - onnx/export - Error: No module named 'sentence_transformers'
- Improve performance of onnx.ai/models HOT 2
- Quantize models have unused ValueInfos
- Models contain unused initializers
- mnist nine failing
- Grad-Cam from ONNX model
- Yolo v9 w/ MIT License
- At Readme of YOLOv3, Value types of original image size need to be float
- Unable to download the model file
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from models.