标签: resnet

Tensorflow分配内存:38535168的分配超过系统内存的10%

使用ResNet50预训练的权重我正在尝试构建一个分类器.代码库完全在Keras高级Tensorflow API中实现.完整的代码发布在下面的GitHub链接中.

源代码:使用RestNet50架构进行分类

预训练模型的文件大小为94.7mb.

我加载了预先训练好的文件

new_model = Sequential()

new_model.add(ResNet50(include_top=False,
                pooling='avg',
                weights=resnet_weight_paths))
Run Code Online (Sandbox Code Playgroud)

并适合模型

train_generator = data_generator.flow_from_directory(
    'path_to_the_training_set',
    target_size = (IMG_SIZE,IMG_SIZE),
    batch_size = 12,
    class_mode = 'categorical'
    )

validation_generator = data_generator.flow_from_directory(
    'path_to_the_validation_set',
    target_size = (IMG_SIZE,IMG_SIZE),
    class_mode = 'categorical'
    )

#compile the model

new_model.fit_generator(
    train_generator,
    steps_per_epoch = 3,
    validation_data = validation_generator,
    validation_steps = 1
)
Run Code Online (Sandbox Code Playgroud)

在训练数据集中,我有两个文件夹狗和猫,每个持有近10,000张图像.当我编译脚本时,我收到以下错误

Epoch 1/1 2018-05-12 13:04:45.847298:W tensorflow/core/framework/allocator.cc:101] 38535168的分配超过系统内存的10%.2018-05-12 13:04:46.845021:W tensorflow/core/framework/allocator.cc:101] 37171200的分配超过系统内存的10%.2018-05-12 13:04:47.552176:W tensorflow/core/framework/allocator.cc:101] 37171200的分配超过系统内存的10%.2018-05-12 13:04:48.199240:W tensorflow/core/framework/allocator.cc:101] 37171200的分配超过系统内存的10%.2018-05-12 13:04:48.918930:W tensorflow/core/framework/allocator.cc:101] 37171200的分配超过系统内存的10%.2018-05-12 13:04:49.274137:W tensorflow/core/framework/allocator.cc:101] 19267584的分配超过系统内存的10%.2018-05-12 13:04:49.647061:W tensorflow/core/framework/allocator.cc:101] 19267584的分配超过系统内存的10%.2018-05-12 …

python memory tensorflow resnet keras-layer

19
推荐指数
5
解决办法
3万
查看次数

Caffe中的缩放图层

我正在通过Caffe原型文本查看深度残留网络,并注意到了"Scale"图层的外观.

layer {
    bottom: "res2b_branch2b"
    top: "res2b_branch2b"
    name: "scale2b_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,此图层在Caffe图层目录中不可用.有人可以解释这一层的功能和参数的含义,还是指向Caffe的最新文档?

neural-network deep-learning caffe conv-neural-network resnet

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

在keras中实现跳过连接

我正在keras中实现ApesNet.它有一个跳过连接的ApesBlock.如何将其添加到keras中的顺序模型?ApesBlock有两个平行的层,最后通过逐元素加法合并.在此输入图像描述

image-segmentation keras resnet

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

Resnet网络无法按预期工作

您好,我正在尝试使用Resnet神经网络通过使用微调方法来训练癌症数据集

这是我以前用来微调的方法.

image_input = Input(shape=(224, 224, 3))

model = ResNet50(input_tensor=image_input, include_top=True,weights='imagenet')
model.summary()
last_layer = model.get_layer('avg_pool').output
x= Flatten(name='flatten')(last_layer)
out = Dense(num_classes, activation='softmax', name='output_layer')(x)
custom_resnet_model = Model(inputs=image_input,outputs= out)
custom_resnet_model.summary()

for layer in custom_resnet_model.layers[:-1]:
    layer.trainable = False

custom_resnet_model.layers[-1].trainable

custom_resnet_model.compile(Adam(lr=0.001),loss='categorical_crossentropy',metrics=['accuracy'])

custom_resnet_model.summary()

tensorboard = TensorBoard(log_dir='./logs', histogram_freq=0,
                      write_graph=True, write_images=False)

hist = custom_resnet_model.fit(X_train, X_valid, batch_size=32, epochs=nb_epoch, verbose=1, validation_data=(Y_train, Y_valid),callbacks=[tensorboard])

(loss, accuracy) = custom_resnet_model.evaluate(Y_train,Y_valid,batch_size=batch_size,verbose=1)

print("[INFO] loss={:.4f}, accuracy: {:.4f}%".format(loss,accuracy * 100))

df = pd.read_csv('C:/CT_SCAN_IMAGE_SET/resnet_50/dbs2017/data/stage1_sample_submission.csv')
df2 = pd.read_csv('C:/CT_SCAN_IMAGE_SET/resnet_50/dbs2017/data/stage1_solution.csv')
x = np.array([np.mean(np.load('E:/224x224/%s.npy' % str(id)), axis=0) for id in df['id'].tolist()])

x = …
Run Code Online (Sandbox Code Playgroud)

python conv-neural-network keras tensorboard resnet

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

从头开始训练Resnet深度神经网络

我需要获得一些关于深度神经网络的知识.

对于'ResNet'非常深的神经网络,我们可以使用转移学习来训练模型.但Resnet已经过ImageNet数据集的培训.因此,他们的预训练权重可用于使用另一个数据集训练模型.(例如,使用CT肺部图像训练肺癌检测模型)

我觉得这种方法不准确,因为预训练的重量已经完全训练过其他物体而不是医学数据.

而不是转移学习,是否可以从头开始训练resnet?(但训练resnet的可用图像数量约为1500).是否可以使用普通计算机.

有人可以与我分享您的宝贵意见

neural-network conv-neural-network keras tensorflow resnet

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

在MxNet-Gluon中使用带有预训练ResNet34模型的ROIPooling层

假设我在MXNet中有一个Resnet34预备模型,我想在其中添加API中包含的预制ROIPooling层:

https://mxnet.incubator.apache.org/api/python/ndarray/ndarray.html#mxnet.ndarray.ROIPooling

如果初始化Resnet的代码如下,如何在分类器之前的Resnet功能的最后一层添加ROIPooling?

实际上,我如何在我的模型中一般使用ROIPooling功能?

如何在ROIpooling层中合并多个不同的ROI?它们应该如何存储?如何更改数据迭代器以便为ROIPooling函数提供所需的批处理索引?

让我们假设我将此与VOC 2012数据集一起用于行动识别任务

batch_size = 40
num_classes = 11
init_lr = 0.001
step_epochs = [2]

train_iter, val_iter, num_samples = get_iterators(batch_size,num_classes)
resnet34 = vision.resnet34_v2(pretrained=True, ctx=ctx)

net = vision.resnet34_v2(classes=num_classes)

class ROIPOOLING(gluon.HybridBlock):
    def __init__(self):
        super(ROIPOOLING, self).__init__()

    def hybrid_forward(self, F, x):
        #print(x)
        a = mx.nd.array([[0, 0, 0, 7, 7]]).tile((40,1))
        return F.ROIPooling(x, a, (2,2), 1.0)

net_cl = nn.HybridSequential(prefix='resnetv20')
with net_cl.name_scope():
    for l in xrange(4):
        net_cl.add(resnet34.classifier._children[l])
    net_cl.add(nn.Dense(num_classes,  in_units=resnet34.classifier._children[-1]._in_units))

net.classifier = net_cl
net.classifier[-1].collect_params().initialize(mx.init.Xavier(rnd_type='gaussian', factor_type="in", magnitude=2), ctx=ctx)

net.features = resnet34.features
net.features._children.append(ROIPOOLING())

net.collect_params().reset_ctx(ctx)
Run Code Online (Sandbox Code Playgroud)

python deep-learning resnet mxnet

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

如何计算 f1 分数?

我有一个 pyTorch 代码来训练一个模型,该模型应该能够检测产品图像中的占位符图像。我没有自己编写代码,因为我对 CNN 和机器学习非常缺乏经验。

我的老板告诉我计算该模型的f1 分数,我发现其公式为((precision * recall)/(precision + recall)),但我不知道如何获得精确度和召回率。有人能告诉我如何从以下代码中获取这两个参数吗?(抱歉,代码很长,但我真的不知道什么是必要的,什么不是)

from __future__ import print_function 
from __future__ import division
import torch
import torch.nn as nn
import torch.optim as optim
import numpy as np
import torchvision
from torchvision import datasets, models, transforms
import matplotlib.pyplot as plt
import time
import os
import copy
print("PyTorch Version: ",torch.__version__)
print("Torchvision Version: ",torchvision.__version__)

data_dir = "data"

# Models to choose from [resnet, alexnet, vgg, squeezenet, densenet, inception]
model_name = "resnet"

# Number …
Run Code Online (Sandbox Code Playgroud)

conv-neural-network resnet pytorch

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

在tensorflow中寻找resnet实现

tensorflow中是否有任何resnet实现?我碰到几个(如来到https://github.com/ry/tensorflow-resnet,https://github.com/xuyuwei/resnet-tf),但这些实施方案中有一些错误(例如,见在各自的问题部分github页面).我希望使用resnet训练imagenet并寻找tensorflow实现.

tensorflow resnet

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

ModuleNotFoundError:谷歌colab上没有名为“keras.applications.resnet50”的模块

我正在尝试在 colab 上运行一个基于图像的项目。我在github上找到了这个项目。一切运行良好,直到我使用以下代码到达单元格:

import keras
from keras.preprocessing.image import ImageDataGenerator
from keras.applications.resnet50 import preprocess_input, ResNet50
from keras.models import Model
from keras.layers import Dense, MaxPool2D, Conv2D
Run Code Online (Sandbox Code Playgroud)

当我运行它时,会观察到以下输出:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-24-173cbce466d6> in <module>()
      1 import keras
      2 from keras.preprocessing.image import ImageDataGenerator
----> 3 from keras.applications.resnet50 import preprocess_input, ResNet50
      4 from keras.models import Model
      5 from keras.layers import Dense, MaxPool2D, Conv2D

ModuleNotFoundError: No module named 'keras.applications.resnet50'

---------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

它运行 2.7.0 keras,连接到 TPU 运行时。我尝试 !pip 安装上述模块,但没有用。我什至尝试运行一个演示 resnet50 项目,但遇到了同样的错误。谁能帮我解决这个错误吗?

python machine-learning keras resnet google-colaboratory

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

运行时错误:不支持的 qscheme:per_channel_affine

我正在关注有关修改后的 Resnet18 模型的量化感知训练的教程,该模型位于此处:

#!/usr/bin/env python
# coding: utf-8

# In[ ]:


# Modified from
# https://github.com/pytorch/vision/blob/release/0.8.0/torchvision/models/resnet.py

import torch
from torch import Tensor
import torch.nn as nn
from torch.hub import load_state_dict_from_url
from typing import Type, Any, Callable, Union, List, Optional


__all__ = ['ResNet', 'resnet18', 'resnet34', 'resnet50', 'resnet101',
           'resnet152', 'resnext50_32x4d', 'resnext101_32x8d',
           'wide_resnet50_2', 'wide_resnet101_2']


model_urls = {
    'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth',
    'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth',
    'resnet50': 'https://download.pytorch.org/models/resnet50-19c8e357.pth',
    'resnet101': 'https://download.pytorch.org/models/resnet101-5d3b4d8f.pth',
    'resnet152': 'https://download.pytorch.org/models/resnet152-b121ed2d.pth',
    'resnext50_32x4d': 'https://download.pytorch.org/models/resnext50_32x4d-7cdf4587.pth',
    'resnext101_32x8d': 'https://download.pytorch.org/models/resnext101_32x8d-8ba56ff5.pth',
    'wide_resnet50_2': 'https://download.pytorch.org/models/wide_resnet50_2-95faca4d.pth',
    'wide_resnet101_2': 'https://download.pytorch.org/models/wide_resnet101_2-32ee1156.pth',
}


def conv3x3(in_planes: int, out_planes: int, stride: …
Run Code Online (Sandbox Code Playgroud)

python machine-learning resnet quantization-aware-training

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