diff --git a/demo/image-classification/README.md b/demo/image-classification/README.md index 1246f41a2533e1d0f92d6c78f24bd0b9ed849c78..64d3e0c13a5f9effc06440f96b0c7845d8fceac4 100644 --- a/demo/image-classification/README.md +++ b/demo/image-classification/README.md @@ -36,6 +36,8 @@ $ pip install --upgrade paddlepaddle --checkpoint_dir: 模型保存路径,PaddleHub会自动保存验证集上表现最好的模型。默认为paddlehub_finetune_ckpt --dataset: 使用什么数据集进行finetune, 脚本支持分别是{flowers/dogcat/stanforddogs/indoor67/food101}。默认为flowers --use_gpu: 是否使用GPU进行训练,如果机器支持GPU且安装了GPU版本的PaddlePaddle,我们建议您打开这个开关。默认关闭 +--use_data_parallel: 是否使用数据并行,打开该开关时,会将数据分散到不同的卡上进行训练(CPU下会分布到不同线程)。默认关闭 +--use_pyreader: 是否使用pyreader进行数据喂入。默认关闭 ``` ## 进行预测 @@ -51,6 +53,7 @@ $ pip install --upgrade paddlepaddle --checkpoint_dir: 模型保存路径,PaddleHub会自动保存验证集上表现最好的模型。默认为paddlehub_finetune_ckpt --dataset: 使用什么数据集进行finetune, 脚本支持分别是{flowers/dogcat}。默认为flowers --use_gpu: 使用使用GPU进行训练,如果本机支持GPU且安装了GPU版本的PaddlePaddle,我们建议您打开这个开关。默认关闭 +--use_pyreader: 是否使用pyreader进行数据喂入。默认关闭 ``` `注意`:进行预测时,所选择的module,checkpoint_dir,dataset必须和finetune所用的一样 diff --git a/demo/image-classification/img_classifier.py b/demo/image-classification/img_classifier.py index 243c47dc46e49df31736b884f6ab69d7ac0660f3..da1940ecacbd74d17fbf043a3f383f73ef2e62ba 100644 --- a/demo/image-classification/img_classifier.py +++ b/demo/image-classification/img_classifier.py @@ -8,12 +8,14 @@ import numpy as np # yapf: disable parser = argparse.ArgumentParser(__doc__) -parser.add_argument("--num_epoch", type=int, default=1, help="Number of epoches for fine-tuning.") -parser.add_argument("--use_gpu", type=bool, default=True, help="Whether use GPU for fine-tuning.") -parser.add_argument("--checkpoint_dir", type=str, default="paddlehub_finetune_ckpt", help="Path to save log data.") -parser.add_argument("--batch_size", type=int, default=16, help="Total examples' number in batch for training.") -parser.add_argument("--module", type=str, default="resnet50", help="Module used as feature extractor.") -parser.add_argument("--dataset", type=str, default="flowers", help="Dataset to finetune.") +parser.add_argument("--num_epoch", type=int, default=1, help="Number of epoches for fine-tuning.") +parser.add_argument("--use_gpu", type=bool, default=False, help="Whether use GPU for fine-tuning.") +parser.add_argument("--checkpoint_dir", type=str, default="paddlehub_finetune_ckpt", help="Path to save log data.") +parser.add_argument("--batch_size", type=int, default=16, help="Total examples' number in batch for training.") +parser.add_argument("--module", type=str, default="resnet50", help="Module used as feature extractor.") +parser.add_argument("--dataset", type=str, default="flowers", help="Dataset to finetune.") +parser.add_argument("--use_pyreader", type=bool, default=False, help="Whether use pyreader to feed data.") +parser.add_argument("--use_data_parallel", type=bool, default=False, help="Whether use data parallel.") # yapf: enable. module_map = { @@ -56,6 +58,8 @@ def finetune(args): feed_list = [img.name] config = hub.RunConfig( + use_data_parallel=args.use_data_parallel, + use_pyreader=args.use_pyreader, use_cuda=args.use_gpu, num_epoch=args.num_epoch, batch_size=args.batch_size, diff --git a/demo/image-classification/predict.py b/demo/image-classification/predict.py index bedc38618fd858fc3e986baf5858c5220ed60b15..b0b10130dc832af940927c8f9c4210de966dc438 100644 --- a/demo/image-classification/predict.py +++ b/demo/image-classification/predict.py @@ -8,11 +8,12 @@ import numpy as np # yapf: disable parser = argparse.ArgumentParser(__doc__) -parser.add_argument("--use_gpu", type=bool, default=False, help="Whether use GPU for predict.") -parser.add_argument("--checkpoint_dir", type=str, default="paddlehub_finetune_ckpt", help="Path to save log data.") -parser.add_argument("--batch_size", type=int, default=16, help="Total examples' number in batch for training.") -parser.add_argument("--module", type=str, default="resnet50", help="Module used as a feature extractor.") -parser.add_argument("--dataset", type=str, default="flowers", help="Dataset to finetune.") +parser.add_argument("--use_gpu", type=bool, default=False, help="Whether use GPU for predict.") +parser.add_argument("--checkpoint_dir", type=str, default="paddlehub_finetune_ckpt", help="Path to save log data.") +parser.add_argument("--batch_size", type=int, default=16, help="Total examples' number in batch for training.") +parser.add_argument("--module", type=str, default="resnet50", help="Module used as a feature extractor.") +parser.add_argument("--dataset", type=str, default="flowers", help="Dataset to finetune.") +parser.add_argument("--use_pyreader", type=bool, default=False, help="Whether use pyreader to feed data.") # yapf: enable. module_map = { @@ -56,6 +57,7 @@ def predict(args): config = hub.RunConfig( use_data_parallel=False, + use_pyreader=args.use_pyreader, use_cuda=args.use_gpu, batch_size=args.batch_size, enable_memory_optim=False,