Comments (9)
-
We are considering unifying the save path arguments for model compression components. For instance, all model compression components should write the training graph (and variables) to
mc_save_path
and the evaluation graph (and variables) tomc_save_path_eval
. -
Yes,
save_path
means the save path of the full-precision uncompressed network, particularly the training graph (and variables). The evaluation graph (and variables) is written tosave_path_eval
.
The reason for saving both training and evaluation graph is that, to continue from previously-aborted training, you need the training graph, and to export a TF-Lite model from checkpoint files, you need the evaluation graph.
from pocketflow.
-
Can I understand the parameter
save_path
andsave_path_eval
is written infull-prec
mode, and is read in other(compress model) mode? The parameterdcp_save_path
anddcp_save_path_eval
is written when compress the model? -
If 1 is right. When I compress my custom model, can I don't provide the model in
save_path_eval
?
save_path_eval
is only read when exec the funcitonforward_eval
inModelHelper
class?
from pocketflow.
save_path
&save_path_eval
is written by theFullPrecLearner
, anddcp_save_path
&dcp_save_path_eval
is written by theDisChnPrunedLearner
. When running model compression components, onlysave_path
is required to load a pre-trained uncompressed model.- As mentioned above, for model compression components, only
save_path
is required. You do not need to provide thesave_path_eval
. All save paths with a suffix "_eval" is only used for exporting TF-Lite models. They are not required in the training process.
from pocketflow.
I don't found the parameter that specify the save path of compressed model other than DisChnPrunedLearner
mode, but I want to know you how to specify the path ? and I found some variable w.r.t path is specified to fixed value, such as channel_pruned_path = './models/pruned_model.ckpt' best_model_path = './models/best_model.ckpt'
, Can you tell me what does they mean?
from pocketflow.
For instance, UniformQuantTFLearner
uses uqtf_save_path
for saving the training graph and uqtf_save_path_eval
for saving the evaluation graph.
For channel_pruned_path
and best_model_path
used in the ChannelPrunedLearner
, @psyyz10 , could you please take a look and explain their actual usage?
from pocketflow.
@as754770178 in ChannelPrunedLearner
, best_model_path
is the parameter that specify the save path of compressed model and channel_pruned_path
saved some intermediate results
from pocketflow.
I conclude the parameter about the path.
-
ChannelPrunedLearner
best_model_path
is the parameter that specify the save path of compressed model andchannel_pruned_path
saved some intermediate results. Now,best_model_path
changed tocp_best_paht
;channel_pruned_path
changed tocp_channel_pruned_path
. But I doubt that what doescp_original_path
mean, whether it conflict withsave_path
. -
UniformQuanTFLearner
uqtf_save_path_eval
is the parameter that specify the save path of compressed model anduqtf_save_path
saved some intermediate results. -
DisChnPrunedLearner
dcp_save_path_eval
is the parameter that specify the save path of compressed model anddcp_save_path
saved some intermediate results. -
FullPrecLearner
save_path_eval
is the parameter that specify the save path of compressed model andsave_path
saved some intermediate results. -
NonUniformQuantLearner
nuql_save_quant_model_path
is the parameter that specify the save path of compressed model. -
UniformQuantLearner
uql_save_quant_model_path
is the parameter that specify the save path of compressed model. -
WeightSparseLearner
ws_save_path
is the parameter that specify the save path of compressed model.
WhyNonUniformQuantLearner
,UniformQuantLearner
andWeightSparseLearner
don't have the parameter to set the path saved some intermediate results.
I don't know whether my summary is correct?
from pocketflow.
For UniformQuanTFLearner
, DisChnPrunedLearner
, and FullPrecLearner
:
- The model saving path without the "_eval" suffix is used to store checkpoint files from the training graph. You can recover a previous training process from it.
- The model saving path with the "_eval" suffix is used to store checkpoint files from the evaluation graph. You can export *.pb & *.tflite models from it.
For NonUniformQuantLearner
, UniformQuantLearner
, and WeightSparseLearner
:
- The model saving path without the "_eval" suffix is used to store checkpoint files from the training graph. You can recover a previous training process from it.
- There is no model saving path with the "_eval" suffix is used to store checkpoint files from the evaluation graph, since these three learners does not support inference using *.tflite models.
For ChannelPrunedLearner
, @psyyz10 , could you provide some more explanation?
from pocketflow.
@as754770178 cp_original_path
is also a path to save temporal model, but the different temporal model from cp_channel_pruned_path
. User may do some operations, for example changed model scope, and which can be saved to cp_original_path
.
from pocketflow.
Related Issues (20)
- cifar10_channel pruned 的示例,通道剪枝(channel_pruning) 导出修改了计算图之后,速度比之前的更慢了! HOT 1
- Can the compression method provided by pocketflow be applied to MASK R-CNN? HOT 1
- QQ group HOT 1
- 我可以只用模型压缩部分么?
- TypeError: forward_train() missing 1 required positional argument: 'objects'
- Missing 1 required positional argument in constructor : data_format
- Download Pretrain Model But Get 502 Bad Gateway Error HOT 1
- You must feed a value for placeholder tensor 'model/input_1' with dtype float and shape [?,160,240,1]
- Question about export_chn_pruned_tflite_model.py HOT 1
- TF Version compatibility HOT 2
- Failed to create session
- Is it possible to compress the keras model with Pocket Flow
- Question about UniformLearner HOT 2
- Default tensorboard log output is huge
- FRCNN with VOC: Cannot batch tensors with different shapes in component 1.
- IndexError: list index out of range HOT 3
- Other issues:
- auto 通道裁剪问题
- test
- TF-Plus for Multi-GPU Training
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 pocketflow.