アノテーションされていない画像データが手元にあったので何か活用できないかと調べていたところ
「表現学習」が面白そうだったので試してみました
githubで簡単に試せるコードがないか探していたところ、
Facebookが自己教師学習SimSiamのコードを公開していたのでこれを使っています
目次
スポンサーリンク
1.実行環境
Jetson Xavier NX
ubuntu18.04
docker
python3.x
pytorch
->pytochの環境構築に関しては以下でやってます。ご参考までに(^^♪
technoxs-stacker.hatenablog.com
2.コード変更
2.1 引数解析部分
元のコードのうちデータパス指定部分とマルチプロセス実行部分をコメントアウトします
parser = argparse.ArgumentParser(description='PyTorch ImageNet Training') # parser.add_argument('data', metavar='DIR', # help='path to dataset') parser.add_argument('-a', '--arch', metavar='ARCH', default='resnet50', choices=model_names, help='model architecture:' + ' | '.join(model_names) + ' (default: resnet50)') # parser.add_argument('-j', '--workers', default=32, type=int, metavar='N', # help='number of data loading workers (default: 32)') parser.add_argument('-j', '--workers', default=0, type=int, metavar='N', help='number of data loading workers (default: 0)') parser.add_argument('--epochs', default=100, type=int, metavar='N', help='number of total epochs to run') parser.add_argument('--start-epoch', default=0, type=int, metavar='N', help='manual epoch number (useful on restarts)') parser.add_argument('-b', '--batch-size', default=512, type=int, metavar='N', help='mini-batch size (default: 512), this is the total ' 'batch size of all GPUs on the current node when ' 'using Data Parallel or Distributed Data Parallel') parser.add_argument('--lr', '--learning-rate', default=0.05, type=float, metavar='LR', help='initial (base) learning rate', dest='lr') parser.add_argument('--momentum', default=0.9, type=float, metavar='M', help='momentum of SGD solver') parser.add_argument('--wd', '--weight-decay', default=1e-4, type=float, metavar='W', help='weight decay (default: 1e-4)', dest='weight_decay') parser.add_argument('-p', '--print-freq', default=10, type=int, metavar='N', help='print frequency (default: 10)') parser.add_argument('--resume', default='./checkpoint/', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') parser.add_argument('--world-size', default=-1, type=int, help='number of nodes for distributed training') parser.add_argument('--rank', default=-1, type=int, help='node rank for distributed training') # parser.add_argument('--dist-url', default='tcp://224.66.41.62:23456', type=str, # help='url used to set up distributed training') parser.add_argument('--dist-backend', default='nccl', type=str, help='distributed backend') parser.add_argument('--seed', default=None, type=int, help='seed for initializing training. ') parser.add_argument('--gpu', default=None, type=int, help='GPU id to use.') # parser.add_argument('--multiprocessing-distributed', action='store_true', # help='Use multi-processing distributed training to launch ' # 'N processes per node, which has N GPUs. This is the ' # 'fastest way to use PyTorch for either single node or ' # 'multi node data parallel training') # simsiam specific configs: parser.add_argument('--dim', default=2048, type=int, help='feature dimension (default: 2048)') parser.add_argument('--pred-dim', default=512, type=int, help='hidden dimension of the predictor (default: 512)') parser.add_argument('--fix-pred-lr', action='store_true', help='Fix learning rate for the predictor')
※(2)へ続きます
スポンサーリンク