Tencent / PocketFlow

An Automatic Model Compression (AutoMC) framework for developing smaller and faster AI applications.
https://pocketflow.github.io
Other
2.78k stars 490 forks source link

A question about DL framework #10

Closed JSnobody closed 5 years ago

JSnobody commented 5 years ago

I find PocketFlow use Tensorflow. Is there a strong correlation between your optimization and Tensorflow? Does the optimization apply to other DL framework? Why not use NCNN? Look forward to your reply! Thansk very much!

jiaxiang-wu commented 5 years ago

Sorry, I do not fully understand your question.

  1. What do you mean by "optimization"?
  2. Also, ncnn is a mobile-based inference library, while ours is a training framework for producing compressed models.
JSnobody commented 5 years ago

Such as channel pruning,weight sparsification,weight quantization,network distillation,multi-GPU training, hyper-parameter optimization.

jiaxiang-wu commented 5 years ago

TensorFlow is a framework for both training and inference, while ncnn is only for inference on mobile devices. That's why we choose TensorFlow instead of ncnn to implement these methods, since they are all training algorithms for model compression.

3dimensions commented 5 years ago

Does PocketFlow's compression methods apply to other training frameworks like PyTorch or Keras? Why choose Tensorflow?

JSnobody commented 5 years ago

@3dimensions I also want to ask the same question."Does the optimization apply to other DL framework?", this optimization means "PocketFlow's compression methods".

jiaxiang-wu commented 5 years ago

@3dimensions @JSnobody We choose TensorFlow since it is one of the most popular DL framework for the moment. It is possible to extend PocketFlow to support other frameworks, e.g. using PyTorch as another back-end for model compression methods, but this will require lots of works. We consider this as a future feature, but currently we do not have a clear time table for this. On the other hand, these model compression methods are not limited to TensorFlow. You surely can implement them using PyTorch or other DL frameworks.

JSnobody commented 5 years ago

OK,I got it. Thanks very much!

jiaxiang-wu commented 5 years ago

Closing this issue. Reopen it if there are any further questions.