精华内容
下载资源
问答
  • socket层次示意图

    千次阅读 2011-11-28 14:56:14
     这是一个通用的接口,它不仅支持各种网络工作形式,而且还是一个交互式通讯机制。一个套接字描述一个通讯连接的一端,两个通讯程序中各自有一个套接字来描述它们自己那一端。套接字可以被看成一个专门的管道,但又...
     
    


    BSD Socket 接口
    --------------------------------------------
        这是一个通用的接口,它不仅支持各种网络工作形式,而且还是一个交互式通讯机制。一个套接字描述一个通讯连接的一端,两个通讯程序中各自有一个套接字来描述它们自己那一端。套接字可以被看成一个专门的管道,但又不象管道,套接字对它们能容纳的数据量没有限制。Linux支持多种类型的套接字。这是因为每一类型的套接字有它自己的通信寻址方法。Linux支持下列套接字地址族或域:
        UNIX         Unix域套接字
        INET         Internet地址族支持通过TCP/IP协议的通信
        AX25         Amateur radio X25
        IPX          Novell IPX
        APPLETALK    Appletalk DDP
        X25          X25

        有一些套接字类型支持面向连接的服务类型。并非所有的地址族能支持所有的服务类型。Linux BSD套接字支持下列套接字类型:
        stream
        这些套接字提供可靠的双工顺序数据流,能保证传送过程中数据不丢失,不被弄混和复制。Internet地址中的TCP协议支持流套接字。
        datagram
        这些套接字提供双工数据传送,但与流套接字不同,这里不保证信息的到达。即使它们到达了,也不能保其到达的顺序,甚至不能保证被复制和弄混。这类套接字由Internet地址族中的UDP协议支持。
        raw
        允许直接处理下层协议(所以叫“raw”)。例如,有可能打开一个raw套接字到以太网设备,看raw IP数据传输。
        reliable delivered messages
        与数据报很象,但它能保证数据的到达。
        sequenced packets
        与流套接字相似,但的数据包大小是固定的。
        packet
        这不是一个标准的BSD套接字类型,而是一个Linux特定的扩展,它允许在设备级上直接处理包。


        对BSD socket进行准确操作要依赖于它下面的地址族(协议族)。象虚拟文件系统一样,Linux从BSD socket层抽象出socket接口,应用程序和BSD socket由每个地址族(协议族)的特定软件来支持。内核初始化时,地址族被置入内核中并将自己注册到BSD socket接口。之后,当应用程序建立用使用BDS sockets时,在BSD socket与它支持的地址族之间将产生一个联接。这一联接是由交叉链接数据结构和地址族表特定支持程序产生。例如,每当应用程序建立一个新的socket,就会有一个BSD socket接口用的地址族特定socket建立程序。
        proto_ops(socket->ops)结构由地址族类型和一系列指向与特定地址族对应的socket操作例程的函数指针组成。



    INET Socket层
    --------------------------------------------
        INET socket层支持包括TCP/IP协议在内的Internet地址族。这些协议是分层的,一个协议使用另一个协议的服务。Linux的TCP/IP代码和数据结构反映了这一分层模型。它与BSD socket层的接口要通过一系列Internet地址族socket操作,这一操作是在网络初始化时就已经注册到BSD socket层的。BSD socket层从已注册的INET proto_ops数据结构中调用INET层socket支持例程来为它执行工作。例如,一个地址族为INET的BSD socket建立请求,将用到下层的INET socket的建立函数。在这些操作中,BSD socket层把用来描述BSD socket的socket 结构传构到INET层。为了不把BSD socket与TCP/IP的特定信息搞混,INET socket层使用它自己的数据结构 --sock,它与BSD socket结构相连。这意味着后来的INET socket调用能够很容易地重新找到sock结构。sock结构的协议操作指针(sock->
    sk_prot)也在初始化时建立,它依赖与被请求的协议。如果请求的是TCP,那么sock结构的协议操作指针将指向TCP连接所必需的TCP协议操作集。
    展开全文
  • 现在针对逻辑数据模型中所用到的三种数据模型---层次数据模型、网状数据模型以及关系数据模型做一个相信的介绍与对比分析。 一、层次数据模型 定义:层次数据模型是用树状<层次>结构来表示实体类型...

    上一篇文章简单介绍了概念数据模型、逻辑数据模型、物理数据模型的基本概念、特性以及三者所对应的数据库的开发阶段。现在针对逻辑数据模型中所用到的三种数据模型---层次数据模型、网状数据模型以及关系数据模型做一个相信的介绍与对比分析。

      一、层次数据模型

      定义:层次数据模型是用树状<层次>结构来表示实体类型和实体间联系的数据模型。(来自百度百科)

      其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。

      特征:树的性质决定了树状数据模型的特征

         1. 整个模型中有且仅有一个节点没有父节点,其余的节点必须有且仅有一个父节点,但是所有的节点都可以不存在子节点;

         2. 所有的子节点不能脱离父节点而单独存在,也就是说如果要删除父节点,那么父节点下面的所有子节点都要同时删除,但是可以单独删除一些叶子节点;

         3. 每个记录类型有且仅有一条从父节点通向自身的路径;

      实例:

         如图1,以学校某个系的组织结构为例,说明层次数据模型的结构。

         1.  记录类型系是根节点,其属性为系编号和系名;

         2.  记录类型教研室和学生分别构成了记录类型系的子节点,教研室的属性有教研室编号和教研室姓名,学生的属性分别是学号、姓名和成绩;

                3.  记录类型教师是教研室这一实体的子节点,其属性由教师的编号,教师的姓名,教师的研究方向。

      优点:

           1. 层次数据模型的结构简单、清晰、明朗,很容易看到各个实体之间的联系;

         2. 操作层次数据类型的数据库语句比较简单,只需要几条语句就可以完成数据库的操作;(百度百科)

         3. 查询效率较高,在层次数据模型中,节点的有向边表示了节点之间的联系,在DBMS中如果有向边借助指针实现,那么依据路径很容易找到待查的记录;

         4. 层次数据模型提供了较好的数据完整性支持,正如上所说,如果要删除父节点,那么其下的所有子节点都要同时删除;如图1,如果想要删除教研室,则其下的所有教师都要删除;

      缺点:

             1. 层次数据模型只能表示实体之间的1:n的关系,不能表示m:n的复杂关系,因此现实世界中的很多模型不能通过该模型方便的表示;

             2. 查询节点的时候必须知道其双亲节点的,因此限制了对数据库存取路径的控制;

    图 1. 院系人员组成结构图

      二、网状数据模型

      定义:用有向图表示实体和实体之间的联系的数据结构模型称为网状数据模型。

      其实,网状数据模型可以看做是放松层次数据模型的约束性的一种扩展。网状数据模型中所有的节点允许脱离父节点而存在,也就是说说在整个模型中允许存在两个或多个没有根节点的节点,同时也允许一个节点存在一个或者多个的父节点,成为一种网状的有向图。因此节点之间的对应关系不再是1:n,而是一种m:n的关系,从而克服了层次状数据模型的缺点。

      特征:

         1. 可以存在两个或者多个节点没有父节点;

         2. 允许单个节点存在多于一个父节点;

      网状数据模型中的,每个节点表示一个实体,节点之间的有向线段表示实体之间的联系。网状数据模型中需要为每个联系指定对应的名称。

      实例:  

         同样是以教务管理系统为例,下面说明了院系的组成中,教师、学生、课程之间的关系。

    图 2. 院系的教务管理系统

        由上图中可以看出课程(实体)的父节点由专业、教研室、学生。以课程和学生之间的关系来说,他们是一种m:n的关系,也就是说一个学生能够选修多门课程,一门课程也可以被多个学生同时选修。

      优点:

         1. 网状数据模型可以很方便的表示现实世界中的很多复杂的关系;

         2. 修改网状数据模型时,没有层次状数据模型的那么多的严格限制,可以删除一个节点的父节点而依旧保留该节点;也允许插入一个没有任何父节点的节点,这样的插入在层次状数据模型中是不被允许的,除非是首先插入的是根节点;

         3. 实体之间的关系在底层中可以借由指针指针实现,因此在这种数据库中的执行操作的效率较高;

      缺点:

         1. 网状数据模型的结构复杂,使用不易;

         2. 网状数据模型数据之间的彼此关联比较大,该模型其实一种导航式的数据模型结构,不仅要说明要对数据做些什么,还说明操作的记录的路径;

       三、关系型数据模型

      关系型数据模型对应的数据库自然就是关系型数据库了,这是是目前笔者最熟悉的数据库。

      定义:使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。

      关系型数据库是目前最流行的数据库,同时也是被普遍使用的数据库,如MySQL就是一种流行的数据库。支持关系数据模型的数据库管理系统称为关系型数据库管理系统。

      特征:

         1. 关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统一的关系---一张二维表,在关系模型中,操作的对象和结果都是一张二维表;

         2. 关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系---表,来实现多对多的关系,如下例子中的学生选课系统中学生和课程之间表现出一种多对多的关系,那么需要借助第三个表,也就是选课表将二者联系起来;

         3. 关系必须是规范化的关系,即每个属性是不可分割的实体,不允许表中表的存在;

      实例:

         下面以学生选课系统为例进行说明。学生选课系统的实体包括:学生、教师、课程;其联系一般为学生与课程之间是一种多对多的关系,教师与课程之间是多对多的关系。学生可以同时选择多门课程,一门课程也可以同时被多个学生同时选择;一位教师可以教授多门课程,一门可能可以由多个教师教授。因此他们之间的联系如下:

     

    图 3 学生选课系统示意图

      将该图映射为关系数据模型中的表格为图4。从中可以看到学生与课程之间的联系以及教师和课程之间的多对多联系都被映射成了表格。其中选课表中的sut_id和cour_id分别是引用学生表和课程表的cour_id的外键;教课表也是如此。

     图 4 关系数据模型的表格

      优点:

         1. 结构简单,关系数据模型是一些表格的框架,实体的属性是表格中列的条目,实体之间的关系也是通过表格的公共属性表示,结构简单明了;

         2. 关系数据模型中的存取路径对用户而言是完全隐蔽的,是程序和数据具有高度的独立性,其数据语言的非过程化程度较高;

         3. 操作方便,在关系数据模型中操作的基本对象是集合而不是某一个元祖;

         4. 有坚实的数学理论做基础,包括逻辑计算、数学计算等;

      缺点:

         1. 查询效率低,关系数据模型提供了较高的数据独立性和非过程化的查询功能(查询的时候只需指明数据存在的表和需要的数据所在的列,不用指明具体的查找路径),因此加大了系统的负担;

         2. 由于查询效率较低,因此需要数据库管理系统对查询进行优化,加大了DBMS的负担;

      关系数据模型的三种约束完整性:

      关系数据模型定义了三种约束完整性:实体完整性、参照完整性以及用户定义完整性。

      实体完整性:实体完整性是指实体的主属性不能取空值。实体完整性规则规定实体的所有主属性都不能为空。实体完整性针对基本关系而言的,一个基本关系对应着现实世界中的一个主题,例如上例中的学生表对应着学生这个实体。现实世界中的实体是可以区分的,他们具有某种唯一性标志,这种标志在关系模型中称之为主码,主码的属性也就是主属性不能为空。

      参照完整性:在关系数据库中主要是值得外键参照的完整性。若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。如上表中的选课关系的stu_id和cour_id分别是参考学生和课程的外键,那么对于现实的系统而言,stu_id和cour_id必须分别出现在学生和课程关系中,这就是外键参考的完整性,同时删除的时候根据设置的不同有不同的处理方式。

      用户定义完整性:用户定义完整性是针对某一个具体关系的约束条件。它反映的某一个具体应用所对应的数据必须满足一定的约束条件。例如,某些属性必须取唯一值,某些值的范围为0-100等。

    展开全文
  • 感觉keras确实比其他框架舒服一点,但是前期理解keras层的时候可能有点小问题,keras的层使用了原始神经网络层的概念,即先有上层的输出聚合,聚合后在进入激活函数。我的环境是python3.5+tensorflow+keras+graphviz...

    感觉keras确实比其他框架舒服一点,但是前期理解keras层的时候可能有点小问题,keras的层使用了原始神经网络层的概念,即先有上层的输出聚合,聚合后在进入激活函数。我的环境是python3.5+tensorflow+keras+graphviz+pydot_ng+pydotplus

    其中

    安装好Python3以及pip之后

    执行: 

    pip install tensorflow

    pip install keras

    下载(https://www.cnblogs.com/fengbohello/p/4689131.html,这篇作者提供了graphviz.msi下载地址,官网不好使,可以从作者提供的路径下到)graphviz.msi并配置好路径

    执行 pip install pydot_ng

    pip install pydotplus

    修改文件

    python\Lib\site-packages\pydot_ng\__init__.py

    def find_graphviz()中的
    # Method 3 (Windows only)
    if os.sys.platform == 'win32':
    
        # Try and work out the equivalent of "C:\Program Files" on this
        # machine (might be on drive D:, or in a different language)
        if 'PROGRAMFILES' in os.environ:
            # Note, we could also use the win32api to get this
            # information, but win32api may not be installed.
            path = os.path.join(os.environ['PROGRAMFILES'], 'ATT', 'GraphViz', 'bin')
        else:
            #Just in case, try the default...
            path = r"....\Graphviz2.37\bin"   
    Graphviz的路径
    python\Lib\site-packages\pydotplus\相应的文件也做相应的修改
    然后就可以测试下面的代码了

    from keras.utils.vis_utils import plot_model
    from keras.models import Sequential
    from keras.layers.core import Dense, Dropout, Activation
    from keras.layers.embeddings import Embedding
    from keras.layers import Input , Dense
    from keras.models import Model
    
    model = Sequential()
    model.add(Dense(4, input_dim=200))
    model.add(Activation('relu'))
    model.add(Dropout(0.5))
    model.add(Dense(200))
    model.add(Activation('relu'))
    model.add(Dropout(0.5))
    model.add(Dense(100))
    model.add(Activation('relu'))
    model.add(Dropout(0.5))
    model.add(Dense(50))
    model.add(Activation('relu'))
    model.add(Dropout(0.5))
    model.add(Dense(20, input_dim=3))
    model.add(Activation('softmax'))
    model.compile(loss='binary_crossentropy', optimizer='adam', class_mode="binary")
    plot_model(model, to_file='model1.png',show_shapes=True)
    对应的结构图为:




    sklearn中的模型展示(python3),在http://blog.csdn.net/shouwangzhelv/article/details/51163535基础上做了修改

    from sklearn.datasets import load_iris
    from sklearn import tree
    from sklearn.externals.six import StringIO
    import pydot_ng
    iris = load_iris()
    clf = tree.DecisionTreeClassifier()
    clf = clf.fit(iris.data, iris.target)
    dot_data = StringIO()
    tree.export_graphviz(clf, out_file=dot_data)
    graph = pydot_ng.graph_from_dot_data(dot_data.getvalue())
    graph.write_pdf("iris.pdf")


    如果想画xgboost的树

    from xgboost import XGBClassifier
    import xgboost as xgb
    
    import pandas as pd
    import numpy as np
    
    from sklearn.model_selection import GridSearchCV
    from sklearn.model_selection import StratifiedKFold
    
    from matplotlib import pyplot as plt
    from xgboost import plot_tree
    x,y = "..."

        mode = XGBClassifier()

        mode.fit(x,y)

        plot_tree(mode)

        plt.show()

    展开全文
  • 一、层次数据模型  定义:层次数据模型是用树状<层次>结构来组织数据的数据模型。  其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有...
  • TCP/IP四层模型 TCP/IP参考模型    ISO制定的OSI参考...如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图。 图2-1 TCP/IP参考模型  2.1 TCP/IP参考模型层次结构  TCP/IP协议栈是美国国防部高级
  • 一张了解TCP/IP五层网络模型

    万次阅读 2017-03-17 15:00:07
    计算机网络有OSI七层模型和TCP/IP五层模型两种,七层...下面是我在学习TCP/IP五层网络协议的时候画的一张,通过这张图就可以简单的了解这五层网络模型的层级划分,并且不同层根据它的职责产生了不同的协议。上
  • 解读:基于动态骨骼的动作识别方法ST-GCN(时空卷积网络模型) 本文为 AAAI 2018 录用论文「Spatial Temporal Graph Convolutional Networks for Skeleton Based Action Recognition」,香港中文大学提出一种时空...
  • 如何设计一个比较好的卷积神经网络模型?常见的模型设计技巧有哪些?
  • 图 2 层次偏好特征表达示意图 解决方案 在接下来的算法中,我们将基于类目的层次偏好称为显式层次偏好,将基于用户兴趣主题的层次偏好称为隐式层次偏好。我们的解决方案一共包含以下四部分: 图 3 解决...
  • 1.前言 我的毕设做的是基于opencv和卷积神经网络的人脸识别项目。...2.卷积神经网络模型概览 ** 从一开始的LeNet到后来的VGGNet,再到google的Inception系列,再到ResNet系列,每一种神经网络模型都有其创新...
  •  * 层次示意图见桌面文件26Internet01  *   * 七层简述见桌面文件26Internet01_2(1.一个网卡只有一个MAC地址,全球唯一,IP地址可以随便改,MAC地址不能改。2.网络层  * 决定数据将要发给哪个主机。
  • 1.OSI网络7层模型  网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、...
  • 神经元模型是是组成神经网络模型的最基本单位。在生物神经网络领域内,神经元之间相互相连,当一个神经元兴奋时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个阈值,...
  • OSI 7层网络模型和TCP/IP 4层网络模型

    千次阅读 2016-07-07 14:19:04
    一、ISO 7层模型 1、物理层(Physical Layer) OSI模型的最低层或第一层,规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性,为上层协议提供了一个传输数据的物理媒体。 在这一层...
  • 互动百科:网络模型

    千次阅读 2012-07-05 13:16:23
    网络模型一般是指OSI七层参考模型和TCP/IP四层参考模型。这两个模型在网络中应用最为广泛。 网络模型-OSI模型概述 OSI 七层参考模型 OSI(Open System Interconnection )七层网络模型
  • 本文转载自:http://www.cnblogs.com/xumenger/p/4504825.html 尊重原创1.ISO/OSI七层模型下四层是为数据传输服务的,物理层是真正的传输数据的,数据链路层、网络层、传输层主要是写入对应数据的传输信息的物理层:...
  •   在我的个人博客上一篇博文中分析了卷积神经网络的结构与相关算法,知道了这些基本原理之后。这篇博文主要介绍在卷积神经网络的发展历程中一些...LeNet-5的网络模型1所示。网络模型具体参数如2所示。 ...
  • 用通俗的话来说,OSI参考模型中定义了网络七层中每一层的“作用”,定义每一层作用的是“协议”,“协议”可以理解为一种约定,其具体内容就是我们约定俗成的标准“规范”。 TCP(Transmission Control Protocol,...
  • 常见的卷积神经网络模型

    千次阅读 2020-11-15 16:56:55
    文章目录一、LeNet二、AlexNet2.1 AlexNet的优点三:VGGNet3.1 VGG的特点...LeNet诞生于1994年,由深度学习三巨头之一的Yan LeCun提出,他也被称为卷积神经网络之父。        LeNe
  • 场景描述/引言 ...这项 研究极富启发性,8年后的1989年卷积神经网络的雏形首次被Yann Lecun提出,直至今日,卷积神经网络这一计算机视觉中最基本和最重要的模型,已走过了堪堪三十年,一般人或许不知道...
  • 生成式对抗网络模型综述 摘要 生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络最最直接的应用是数据的生成,而数据质量...
  • 对等实体: 根据示意图,不同体系的两个军长称为对等实体。 对等层: 不同体系的两个军长所在的层称为对等层。 SAP: (访问服务点)同一个体系中,相邻的两个实体之间通讯的地方,相当于参谋部。 接口: 相当于参谋,保证...
  • TCP/IP参考模型层次结构

    千次阅读 2009-09-08 17:39:00
    TCP/IP参考模型层次结构应用层FTP、TELNET、HTTPSNMP、TFTP、NTP传输层TCPUDP网络互联层IP主机到网络层 以
  • 深度学习之卷积神经网络经典模型

    千次阅读 2019-06-17 14:38:41
    LeNet-5模型是1998年,Yann LeCun教授提出的,它是第一个成功大规模应用在手写数字识别问题的卷积神经网络,在MNIST数据集中的正确率可以高达99.2%。 下面详细介绍一下LeNet-5模型工作的原理。 LeNet-5模型一共有7...
  • 在卷积神经网络发展的过程中经历了很多革命性的创新,诞生了很多优秀的网络结构,接下来我将介绍几个经典网络结构 LeNet,这是最早用于数字识别的卷积神经网络(CNN) AlexNet,2012 ILSVRC比赛远超第2名的CNN,比...
  • MobileNet_v2网络模型详解

    千次阅读 2019-09-24 17:47:16
    ,阐述MobileNet的网络结构。 MobileNet Introduction 本文介绍MobileNet_v2网络结构。在MobileNet_v1中,应用了深度可分离卷积,使得神经网络在保持精度的同时,极大的降低了计算速度。 在MobileNet...
  • 一、计算机网络 1、什么是计算机网络 计算机网络是“以相互共享资源的方式互联起来的自治计算机系统的集合”,联网计算机之间的通讯必须遵循共同的网络协议。 2、计算机网络的分类 按照覆盖的地理范围来分:...
  • ssd 模型结构

    千次阅读 2018-08-11 17:59:44
    https://www.cnblogs.com/xuanyuyt/p/7447111.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,326
精华内容 4,130
关键字:

层次网络模型示意图