大数据开发之keras代码框架应用

总体来讲keras这个深度学习框架真的很“简易”,它体现在可参考的文档写的比较详细,不像caffe,装完以后都得靠技术博客,keras有它自己的官方文档(不过是英文的),这给初学者提供了很大的学习空间。

在此做下代码框架应用笔记

class VGGNetwork:
    def append_vgg_network(self, x_in, true_X_input):
        return x #x is output of VGG
    def load_vgg_weight(self, model):
        return model
class DiscriminatorNetwork:
    def append_gan_network(self, true_X_input):
        return x
class GenerativeNetwork:
    def create_sr_model(self, ip):
        return x
    def get_generator_output(self, input_img, srgan_model):
        return self.output_func([input_img])
class SRGANNetwork:
    def build_srgan_pretrain_model(self):
        return self.srgan_model_
    def build_discriminator_pretrain_model(self):
        return self.discriminative_model_
    def build_srgan_model(self):
        return self.srgan_model_
    def pre_train_srgan(self, image_dir, nb_images=50000, nb_epochs=1, use_small_srgan=False):
        for i in range(nb_epochs):
            for x in datagen.flow_from_directory
                if iteration % 50 == 0 and iteration != 0
                    validation//print psnr
                Train only generator + vgg network
                if iteration % 1000 == 0 and iteration != 0
                    Saving model weights
    def pre_train_discriminator(self, image_dir, nb_images=50000, nb_epochs=1, batch_size=128):
        for i in range(nb_epochs):
             for x in datagen.flow_from_directory
                 Train only discriminator
                 if iteration % 1000 == 0 and iteration != 0
                    Saving model weights
    def train_full_model(self, image_dir, nb_images=50000, nb_epochs=10):
        for i in range(nb_epochs):
            for x in datagen.flow_from_directory
                if iteration % 50 == 0 and iteration != 0
                    validation//print psnr
                if iteration % 1000 == 0 and iteration != 0
                    Saving model weights
                Train only discriminator, disable training of srgan
                Train only generator, disable training of discriminator
if __name__ == "__main__":
    from keras.utils.visualize_util import plot

    # Path to MS COCO dataset
    coco_path = r"D:\Yue\Documents\Dataset\coco2014\train2014"

    ‘‘‘
    Base Network manager for the SRGAN model

    Width / Height = 32 to reduce the memory requirement for the discriminator.

    Batch size = 1 is slower, but uses the least amount of gpu memory, and also acts as
    Instance Normalization (batch norm with 1 input image) which speeds up training slightly.
    ‘‘‘

    srgan_network = SRGANNetwork(img_width=32, img_height=32, batch_size=1)
    srgan_network.build_srgan_model()
    #plot(srgan_network.srgan_model_, ‘SRGAN.png‘, show_shapes=True)

    # Pretrain the SRGAN network
    #srgan_network.pre_train_srgan(coco_path, nb_images=80000, nb_epochs=1)

    # Pretrain the discriminator network
    #srgan_network.pre_train_discriminator(coco_path, nb_images=40000, nb_epochs=1, batch_size=16)

    # Fully train the SRGAN with VGG loss and Discriminator loss
    srgan_network.train_full_model(coco_path, nb_images=80000, nb_epochs=5)

  

原文地址:https://www.cnblogs.com/68xi/p/8590600.html

时间: 2024-11-09 08:54:17

大数据开发之keras代码框架应用的相关文章

大数据开发之linux平台基础

大数据讲解:======================================== 大数据技术: 大数据存储 大数据计算 大数据组件搭建在Linux上的 Linux:======================================== 是操作系统内核 Linux发行版: ubuntu //高校教学 redhat //红帽Linux //非免费 centos //企业用 //稳定 deepin debian 麒麟 Windows发行版: xp win7 win8 win10

大数据开发之zookeeper简介

首先安装hadooper必须安装zookeeper. zookeeper在hadoop生态圈中起的非常重要的作用,一句话就是ZooKeeper是分布式系统中的协调系统. 浅谈zookeeper:zookeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. zookeeper的特点简单

移动平台前端开发之WebApp代码技巧

1.首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" /> <meta content="yes" name="apple-mobile-web

【大数据开发】你知道大数据语言的工具与框架吗?

为了解大数据的当前和未来状态,我们采访了来自28个组织的31位IT技术主管.我们问他们,"你在数据提取,分析和报告中使用的最流行的语言,工具和框架是什么?" 以下的文章是他们告诉我们的记录,经过总结如下. Python,Spark,Kafka 随着大数据和对人工智能AL/机器学习 ML 的推动,Scala和Python语言以及Apache Spark中越来越受欢迎. 对OLAP数据仓库的迁移,如果用 Python开发机器学习使用较少的结构.开发者编写Python ML模型非常方便,Py

出一套高端大气上档次的大数据开发面试题(刷起来!!!)

一千个读者眼中有一千个哈姆雷特,一千名 大数据 程序员心目中就有一千套 大数据面试题.本文就是笔者认为可以用来面试大数据 程序员的面试题. 这套题的题目跟公司和业务都没有关系,而且也并不代表笔者本人可以把这些题回答得非常好,笔者只是将一部分觉得比较好的题从收集的面试题里面抽出来了而已. 收集的面试题有以下三个来源: 笔者在准备面试的过程中搜集并整理过的面试题. 笔者在准备面试的过程中自己思考过的新题. 笔者在面试过程中遇到的觉得比较好的题. 好了不说废话了 上~~~~~~~题~~~~~~~~~

2016年大数据Spark“蘑菇云”行动代码学习之AdClickedStreamingStats模块分析

    系统背景:用户使用终端设备(IPAD.手机.浏览器)等登录系统,系统采用js脚本发送用户信息和广告点击信息到后台日志,进入flume监控,通过kafka消息中间件传输数据,由Spark Streaming消费后将信息存储到后台.本模块主要就是实现将kafka发送的信息进行过滤,动态更新黑名单,生成有效的广告点击数据,形成广告点击趋势,将相关信息通过数据库连接池写入数据库MySql.     实现思路:由于kafka传输的广告点击数据中有一些是无效数据,需要根据一定的规则进行过滤(本方案采

Android开发之Drag&amp;Drop框架实现拖放手势

Android3.0提供了drag/drop框架,利用此框架可以实现使用拖放手势将一个view拖放到当前布局中的另外一个view中.本文将介绍如何使用拖放框架. 一.实现拖放的步骤 首先,我们先了解一下拖放过程,从官方文档可以知道,整个拖放过程共分为4个步骤,具体如下: 1.  Started:启动拖放,主要是调用被拖放View的startDrag方法.此方法原型为: public final boolean startDrag(ClipData data, View.DragShadowBui

Android开发之Android Annotations框架

昨天研究了一下Volley网络通信框架的使用,今天有研究了一下Android Annotations框架,发现Android Annotations框架确实可以减少代码量. Android Annotations 是一个开源的框架,用于加速 Android 应用的开发,可以让你把重点放在功能的实现上,简化了代码,提升了可维护性. 功能模块: 1. 使用依赖注入(Dependency Injection) ----------------------------------------------

j2ee开发之Spring2.5框架学习笔记

Spring 2.5框架学习笔记 1.是一个开源的控制反转IOC和面向切面AOP的容器框架 2.IOC控制反转 public class PersonServiceBean { private PersonDao personDao = new PersonDao(); publiv void save(Person person){ personDao.save(person); } } 控制反转:应用本身不负责依赖对象personDao的创建以及维护,依赖对象的创建以及维护是由外部容器负责的