第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

深度學(xué)習(xí)框架之個(gè)人見(jiàn)解

標(biāo)簽:
深度學(xué)習(xí)

目前本人使用过的深度学习框架有4个:按照使用先后顺序:caffe,tensorflow,keras,pytorch。

从2个方面说一下体验:

1)安装体验:

caffe: 安装及其繁琐,并且网上诸多教程都是瞎写或者转载,没有实际安装过。这里有一篇ubuntu14.04安装caffe的比较好的教程:https://blog.csdn.net/leilei18a/article/details/79490081

tensorflow:安装教程,较caffe来说简单许多。附安装教程:https://blog.csdn.net/leilei18a/article/details/79490175

keras:安装教程,本人是在tf环境下安装的,在安装tensorflow之后,加一句pip install keras 即可

pytorch:安装教程更简单,与tensorflow基本一样。若想在linux系统下安装tensorflow,pytorch。那么需要创建2个环境即可。附:https://blog.csdn.net/leilei18a/article/details/79871423  若在win下安装cpu版本,下载tf与pytorch的whl文件,pip install 名字 即可。并且pytorch教程比tensorflow好许多,tensorflow太臃肿。pytorch官方教程链接:https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html

2)使用体验:

    1. 读取数据:

caffe:一般是生成lmdb。    数据输入格式:N*C*H*W

tensorflow:本人喜欢 feed 方式,至于tfrecords ,不是很喜欢,以及tensorflow的数据增强方式(替代为opencv-   python);但是feed方式,建议将数据先生成HDF5文件,这样读取数据效率快较之读取本地图片。

   数据输入格式:N*C*H*W或者N*H*W*C(默认,本人比较习惯了)

keras:与tensorflow基本一样。

pytorch:对于公共小数据集,pytorch很多已经集成到torchvision模块下。torchvision.datasets.下面

    数据输入格式:N*C*H*W

            对于本地数据集,需要建立一个txt文件,然后建立 class 类:


def default_loader(path):    return Image.open(path).convert('RGB')


class MyDataset(Dataset):    def __init__(self, txt, transform=None, target_transform=None, loader=default_loader):
        fh = open(txt, 'r')
        imgs = []        for line in fh:
            line = line.strip('\n')
            line = line.rstrip()
            words = line.split()
            imgs.append((words[0],int(words[1])))
        self.imgs = imgs
        self.transform = transform
        self.target_transform = target_transform
        self.loader = loader    def __getitem__(self, index):
        fn, label = self.imgs[index]
        img = self.loader(fn)        if self.transform is not None:
            img = self.transform(img)        return img,label    def __len__(self):        return len(self.imgs)

    2. 建立网络:

caffe:可以使用脚本,不过费时费力。有python接口,利用python生成网络,但是不能自动补全。

tensorflow:本人是图像处理方向(LSTM接触较少)。建议新手,先用tf.nn下面的基础网络函数建立网络,熟练后,高级模块有tf.layers,tf.contrib.layers,tf.contrib.slim(推荐使用slim模块),而且slim模块的fine-tune更加方便简洁。

fine-tune模型链接:https://github.com/tensorflow/models/tree/master/research/slim

而且 slim模块有已经写好的网络 可以直接调用(分类网络)slim.nets. 各种网络

keras:类似,预训练模型链接:https://github.com/fchollet/deep-learning-models/releases

pytorch:与tensorflow slim fine-tune类似,pytorch也有写好的网络,可以直接调用。

    torchvision.models.下面有各种网络,模型可以通过函数自动下载:eg:torchvision.models.alexnet(pretrain=True)即可自动下载。也可以手动下载:https://github.com/aaron-xichen/pytorch-playground


tensorflow与pytorch (vgg系列 或者残差系列)实现HED或者U_Net,一般来说都是4个尺度变化,这是关键。

只需要记住 大部分是4个尺度变化或3 或5 个 ,那么无论多少个残差单元或者多少个巻积层都没有问题。只需要concat4次,上采样4次。那么心里就不发怵了。

基于VGG系列:

tf:采用slim模块以及outputs_collections,转成dict,即可获取在下采样的每层的输出(下采样过程需要单独构建一个函数,返回net,以及end_points每层的dict);那么在上采样过程中,不管是HED或U_Net均可以调用他们,然后concat。

torch:采用fine-tune的网络,model=torchvision.models.vgg11(pretrain=True)(既可以构建下采样网络,又可以获取预训练模型),而且pytorch将FC层与其他层单独分开了,使得调用非FC层方便,直接model_n=model.features就是非FC层;那么再构建HED或者U_Net,只需要切片model_n即可。然后forward。

基于残差系列:

tf:采用slim模块以及outputs_collections,并且每个尺度下最后一层的net也会保存输出成dict形式,很好调用。那么构建HED或者U_Net就是尺度构建问题了,但是仍然先需要构建下采样过程函数,返回net,endpoints每个block的输出。

pytorch:采用fine-tune的网络,model=torchvision.models.vgg11(pretrain=True)(既可以构建下采样网络,又可以获取预训练模型),而且pytorch将FC层与其他层单独分开了,使得调用非FC层方便,直接model_n=model.features就是非FC层;那么再构建HED或者U_Net,只需要切片model_n即可。然后forward。

原文出处

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消