小编sto*_*ran的帖子

在咖啡上使用VGG进行微调

我正在复制http://caffe.berkeleyvision.org/gathered/examples/finetune_flickr_style.html中的步骤

我想将网络更改为VGG模型,该模型可在http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_16_layers.caffemodel获得 .

只需将模型参数替换为以下内容就足够了吗?

./build/tools/caffe train -solver models/finetune_flickr_style/solver.prototxt -weights VGG_ISLVRC_16_layers.caffemodel -gpu 0
Run Code Online (Sandbox Code Playgroud)

或者我是否需要调整学习率,迭代,即它是否附带单独的原型文件?

computer-vision neural-network deep-learning caffe vgg-net

2
推荐指数
1
解决办法
8487
查看次数

为什么VGG-16采用输入大小512 * 7 * 7?

根据https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py

我不明白为什么 VGG 模型采用 512 * 7 * 7 全连接层的 input_size 。最后一个卷积层是

  • nn.Conv2d(512, 512, kernel_size=3, padding=1),
  • nn.ReLU(True),
  • nn.MaxPool2d(kernel_size=2, stride=2, dilation=1)

代码在上面的链接中。

class VGG(nn.Module):

    def __init__(self, features, num_classes=1000, init_weights=True):
        super(VGG, self).__init__()
        self.features = features
        self.classifier = nn.Sequential(
            nn.Linear(512 * 7 * 7, 4096),
            nn.ReLU(True),
            nn.Dropout(),
            nn.Linear(4096, 4096),
            nn.ReLU(True),
            nn.Dropout(),
            nn.Linear(4096, num_classes),
        )
Run Code Online (Sandbox Code Playgroud)

neural-network pytorch vgg-net

2
推荐指数
2
解决办法
6404
查看次数

如何在Dictionary <string,int>中通过大小写不敏感的密钥获取原始大小写密钥

有词典:

var dictionary1 = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase)
    {{"abc1", 1}, {"abC2", 2}, {"abc3", 3}};
Run Code Online (Sandbox Code Playgroud)

我可以得到一个值:

var value = dictionary1["Abc2"];
Run Code Online (Sandbox Code Playgroud)

如果搜索键"Abc2"我需要获取原始键"abC2"和值2.

如何通过不区分大小写的密钥获取原始案例密钥?

c# dictionary case-insensitive

2
推荐指数
1
解决办法
152
查看次数

如何在C#中获取泛型类的子类型

我有一个通用的方法

public async Task Save<T>(T aggregate) where T : AggregateRoot
Run Code Online (Sandbox Code Playgroud)

从这个方法我调用另一个泛型方法

var indexRegistrations = IndexRegistrar.GetAll<T>();
Run Code Online (Sandbox Code Playgroud)

现在在第二个通用方法中,我想得到真正的类型T,它是一个子类型AggregateRoot:

public static List<IndexRegistration> GetAll<T>() where T : AggregateRoot
{
    return _register.FindAll(r => r.aggregateType == typeof(T));
}
Run Code Online (Sandbox Code Playgroud)

但是,typeof(T)总是返回AggregateRoot.

我怎样才能得到真实的类型(=子类型AggregateRoot)T

c# generics

1
推荐指数
1
解决办法
1493
查看次数

获取错误,“AttributeError:‘module’对象没有属性‘ifelse’”

我正在使用 Theano 和 Keras 并使用以下命令,尝试从 .h5 文件加载 VGG Net 的权重。

VGG 网络模型定义:

def VGG_16(weights_path=None):
    model = Sequential()
    model.add(ZeroPadding2D((1,1),input_shape=(3,224,224)))
    model.add(Convolution2D(64, 3, 3, activation='relu'))
    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(64, 3, 3, activation='relu'))
    model.add(MaxPooling2D((2,2), strides=(2,2)))

    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(128, 3, 3, activation='relu'))
    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(128, 3, 3, activation='relu'))
    model.add(MaxPooling2D((2,2), strides=(2,2)))

    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(256, 3, 3, activation='relu'))
    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(256, 3, 3, activation='relu'))
    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(256, 3, 3, activation='relu'))
    model.add(MaxPooling2D((2,2), strides=(2,2)))

    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(512, 3, 3, activation='relu'))
    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(512, 3, 3, activation='relu'))
    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(512, 3, 3, activation='relu'))
    model.add(MaxPooling2D((2,2), strides=(2,2)))

    model.add(ZeroPadding2D((1,1)))
    model.add(Convolution2D(512, 3, 3, activation='relu')) …
Run Code Online (Sandbox Code Playgroud)

theano keras vgg-net

1
推荐指数
1
解决办法
5160
查看次数

VGG 16/19缓慢的运行时间

当我尝试使用Caffe和Python(2.7和3.5)从经过预训练的VGG 16/19模型中获取输出时(2.7和3.5),在net.forward()步骤(在笔记本电脑的CPU上)上花费了15秒以上。

我想知道是否有人会建议我这样做,就像其他许多模型(例如ResNet,AlexNet)一样,我在一瞬间就得到了输出,这是迄今为止我发现的唯一一个表现不佳的模型。

我使用的代码如下:

img = cv2.imread(path + img_name + '.jpg')
img = transform_img(img,224,224) #Resizes image.
net = caffe.Net(model_prototxt,model_trained,caffe.TEST)
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_transpose('data', (2,0,1))
net.blobs['data'].data[...] = transformer.preprocess('data', img)
start = timer()
out = net.forward()
end = timer()
print('Runtime: ' + "{0:.2f}".format(end-start) + 's')
Run Code Online (Sandbox Code Playgroud)

抱歉,这可能是一个非常新手的问题,在此先感谢所有花时间回答的人。

python caffe pycaffe vgg-net

0
推荐指数
1
解决办法
1225
查看次数