From 28cdc0f73ace0f0c5828673bcc3320736b8909f2 Mon Sep 17 00:00:00 2001 From: zhang chen Date: Mon, 14 Feb 2022 17:53:43 +0800 Subject: [PATCH] resnet op train from yaml config. --- ILSVRC2012_val_00049771.JPEG | Bin 0 -> 94026 bytes pytorch/embedding_extractor.py | 66 +++++++++++++++++++++++++++++++++ pytorch/model.py | 32 ++++++++++++---- resnet_image_embedding.py | 14 ++++++- resnet_training_yaml.yaml | 22 +++++++++++ test.py | 65 ++++++++++++++++++++++++++++++++ 6 files changed, 190 insertions(+), 9 deletions(-) create mode 100644 ILSVRC2012_val_00049771.JPEG create mode 100644 pytorch/embedding_extractor.py create mode 100644 resnet_training_yaml.yaml create mode 100644 test.py diff --git a/ILSVRC2012_val_00049771.JPEG b/ILSVRC2012_val_00049771.JPEG new file mode 100644 index 0000000000000000000000000000000000000000..5e9e980f9578ff1600362e19bc1716381b4f7d92 GIT binary patch literal 94026 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Μ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 0: + self.model.create_classifier(num_classes) \ No newline at end of file diff --git a/resnet_training_yaml.yaml b/resnet_training_yaml.yaml new file mode 100644 index 0000000..c003c2f --- /dev/null +++ b/resnet_training_yaml.yaml @@ -0,0 +1,22 @@ +device: + device_str: null + n_gpu: -1 + sync_bn: true +metrics: + metric: Accuracy +train: + batch_size: 16 +learning: + optimizer: + name_: SGD + lr: 0.03 + momentum: 0.001 + nesterov: 111 + loss: + name_: CrossEntropyLoss + label_smoothing: 0.1 +#learning: +# optimizer: +# name_: Adam +# lr: 0.02 +# eps: 0.001 diff --git a/test.py b/test.py new file mode 100644 index 0000000..04ad646 --- /dev/null +++ b/test.py @@ -0,0 +1,65 @@ +import numpy as np +from torchvision import transforms +from torchvision.transforms import RandomResizedCrop, Lambda +from towhee.trainer.modelcard import ModelCard + +from towhee.trainer.training_config import TrainingConfig +from towhee.trainer.dataset import get_dataset +from resnet_image_embedding import ResnetImageEmbedding +from towhee.types import Image +from towhee.trainer.training_config import dump_default_yaml +from PIL import Image as PILImage +from timm.models.resnet import ResNet + +if __name__ == '__main__': + # img = torch.rand([1, 3, 224, 224]) + img_path = './ILSVRC2012_val_00049771.JPEG' + # # logo_path = os.path.join(Path(__file__).parent.parent.parent.parent.resolve(), 'towhee_logo.png') + img = PILImage.open(img_path) + img_bytes = img.tobytes() + img_width = img.width + img_height = img.height + img_channel = len(img.split()) + img_mode = img.mode + img_array = np.array(img) + array_size = np.array(img).shape + towhee_img = Image(img_bytes, img_width, img_height, img_channel, img_mode, img_array) + + op = ResnetImageEmbedding('resnet34') + op.model_card = ModelCard(model_details="resnet test modelcard", training_data="use resnet test data") + # old_out = op(towhee_img) + + # print(old_out.feature_vector[0]) + + training_config = TrainingConfig() + yaml_path = 'resnet_training_yaml.yaml' + # dump_default_yaml(yaml_path=yaml_path) + training_config.load_from_yaml(yaml_path) + # output_dir='./temp_output', + # overwrite_output_dir=True, + # epoch_num=2, + # per_gpu_train_batch_size=16, + # prediction_loss_only=True, + # metric='Accuracy' + # # device_str='cuda', + # # n_gpu=4 + # ) + + + mnist_transform = transforms.Compose([transforms.ToTensor(), + RandomResizedCrop(224), + Lambda(lambda x: x.repeat(3, 1, 1)), + transforms.Normalize(mean=[0.5], std=[0.5])]) + train_data = get_dataset('mnist', transform=mnist_transform, download=True, root='data') + + fake_transform = transforms.Compose([transforms.ToTensor(), + RandomResizedCrop(224),]) + # train_data = get_dataset('fake', size=20, transform=fake_transform) + + op.change_before_train(10) + op.train(training_config, train_dataset=train_data) + # e.save('./test_save') + # e.load('./test_save') + # new_out = e(img) + + # assert (new_out[0]!=old_out[0]).all()