比赛简介
链接如下:https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition
比赛内容很简单,就是跟一些猫、狗图片,要求对其进行分类。
解法
在这里参考了这位兄台的解法https://ypw.io/dogs-vs-cats-2/,我使用了resnet50、vgg16、densenet161三个已经在imagenet数据集上提前训练好的模型,去掉最后的分类全连接层,产出产出图片的特征向量,进行拼接,最后再接入2个全连接层进行分类。算法使用pytorch实现,最终再取得了Public Score 0.18336的得分,还是有较大改进空间。
代码如下:
# encoding=utf-8
import sys
import argparse
import numpy as np
import re
import math
import os
import datetime
import logging
import logging.handlers
import redis
import traceback
import operator
import requests
import bisect
import json
import hashlib
import random
import inspect
import itertools
import numpy
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import torch.utils.data
import time
import csv
import torchvision.models as models
from torch.autograd import Variable
from PIL import Image
from conf import *
from operator import itemgetter
from tqdm import *
from subprocess import Popen
from subprocess import PIPE
from threading import Lock