平台aistudio 笔记本
python 3.7
paddle 1.6 1.8都测试过
模型resnet_v2_50_imagenet
paddle.enable_static() module = hub.Module(name="resnet_v2_50_imagenet") from paddlehub.dataset.base_cv_dataset import BaseCVDataset class DemoDataset(BaseCVDataset): def __init__(self): # 数据集存放位置 self.dataset_dir = "data/data84458" super(DemoDataset, self).__init__( base_path=self.dataset_dir, train_list_file="train_list.txt", validate_list_file="validate_list.txt", test_list_file="test_list.txt", #predict_file="predict_list.txt", label_list_file="label_list.txt", ) dataset = DemoDataset() import matplotlib.pyplot as plt import matplotlib.image as mpimg img = mpimg.imread('data/data84458/yangmi/ym85.jpg') img1 = mpimg.imread('data/data84458/liuyifei/lyf14.jpg') plt.figure(figsize=(10,10)) plt.subplot(1,2,1) plt.imshow(img) plt.axis('off') plt.subplot(1,2,2) plt.imshow(img1) plt.axis('off') plt.show() print("杨幂\t\t\t\t\t\t\t\t刘亦菲") data_reader = hub.reader.ImageClassificationReader( image_width=module.get_expected_image_width(), image_height=module.get_expected_image_height(), images_mean=module.get_pretrained_images_mean(), images_std=module.get_pretrained_images_std(), dataset=dataset) config = hub.RunConfig( use_cuda=True, #是否使用GPU训练,默认为False; num_epoch=3, #Fine-tune的轮数; checkpoint_dir="cv_finetune_turtorial_demo",#模型checkpoint保存路径, 若用户没有指定,程序会自动生成; batch_size=3, #训练的批大小,如果使用GPU,请根据实际情况调整batch_size; eval_interval=10, #模型评估的间隔,默认每100个step评估一次验证集; strategy=hub.finetune.strategy.DefaultFinetuneStrategy()) #Fine-tune优化策略; input_dict, output_dict, program = module.context(trainable=True) img = input_dict["image"] feature_map = output_dict["feature_map"] feed_list = [img.name] # task = hub.ImageClassifierTask( # data_reader=data_reader, # feed_list=feed_list, # feature=feature_map, # num_classes=dataset.num_labels, # config=config) task = hub.ImageClassifierTask( data_reader=data_reader, feed_list=feed_list, feature=feature_map, num_classes=dataset.num_labels, config=config)
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
报错内容
[2021-04-27 17:59:44,941] [ INFO] - 267 pretrained paramaters loaded by PaddleHub
---------------------------------------------------------------------------AttributeError Traceback (most recent call last) in
16 feature=feature_map,
17 num_classes=dataset.num_labels,
---> 18 config=config)
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlehub/finetune/task/classifier_task.py in __init__(self, feature, num_classes, feed_list, data_reader, startup_program, config, hidden_units, metrics_choices)
47 main_program=main_program,
48 feed_list=feed_list,
---> 49 startup_program=startup_program,
50 config=config,
51 metrics_choices=metrics_choices)
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlehub/finetune/task/base_task.py in __init__(self, feed_list, data_reader, main_program, startup_program, config, metrics_choices)
296 main_program, for_test=False)
297 if startup_program is None:
--> 298 self._base_startup_program = clone_program(
299 fluid.default_startup_program(), for_test=False)
300 else:
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlehub/common/paddle_helper.py in clone_program(origin_program, for_test)
272
273
--> 274 def set_parameter_trainable(program, trainable=True):
275 for param in program.global_block().iter_parameters():
276 param.trainable = trainable
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlehub/common/paddle_helper.py in _copy_vars_and_ops_in_blocks(from_block, to_block)
145 param['gradient_clip_attr'] = eval(
146 "fluid.clip.%s(clip_norm = %f, group_name = \"%s\")" %
--> 147 (clip_type, clip_norm, group_name))
148
149 return param
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlehub/common/paddle_helper.py in get_variable_info(var)
63 var_info['lod_level'] = var.lod_level
64 var_info['shape'] = var.shape
---> 65 except:
66 pass
67
AttributeError: 'Parameter' object has no attribute 'gradient_clip_attr'