深度学习-网络模型的可视化工具总结_深度学习模型可视化-程序员宅基地

技术标签: 模型可视化  炼丹技巧  网络  深度学习  神经网络  

强烈感谢公众号:尤而小屋

提供的文章思路

神经网络可视化难点在哪里?

神经网络可视化的难点在于以下几个方面:

  1. 复杂性:神经网络的结构通常非常复杂,包含大量的神经元和连接。对于大规模网络,准确地可视化每个神经元和连接的信息是一项巨大的挑战。

  2. 维度灾难:神经网络的输入和隐藏层通常是高维的,难以直接在二维屏幕上展示。降低维度的同时又要保留关键信息是一个挑战。

  3. 动态性:神经网络是动态的系统,在训练和推理过程中不断更新和调整权重和激活状态。捕捉网络的动态行为并实时更新可视化是一项复杂的任务。

  4. 解释性:神经网络通常被视为黑盒模型,其内部决策和特征表示的解释性有限。可视化需要解释网络学到的特征和决策过程,使其对人类更具可理解性。

  5. 可扩展性:对于大规模的神经网络,如深度卷积神经网络 (CNN) 和循环神经网络 (RNN),可视化需要能够处理大量的层和参数,并具备可扩展性和效率。

  6. 可视化方法选择:存在多种不同的可视化方法和技术,选择合适的方法来呈现神经网络的结构和内部信息是一个挑战。

神经网络可视化方法

        神经网络可视化是一种将神经网络的结构和运行过程以图形化方式呈现的技术。它可以帮助我们更好地理解神经网络的内部工作原理和特征提取过程。以下是几种常见的神经网络可视化方法:

  1. 可视化网络结构:可以使用工具如TensorBoard、Graphviz等将神经网络的结构以图形化方式展示出来。这种可视化方法能够清晰地展示网络的层级关系、连接方式以及参数数量等。

  2. 可视化神经元激活:通过可视化神经元的激活情况,可以观察神经网络在不同层次上对输入数据进行特征提取的过程。一种常见的方法是使用预训练模型,输入一张图像,然后可视化中间层的神经元激活图,从而了解网络对不同特征的敏感性。

  3. 可视化卷积核:对于卷积神经网络(CNN),可视化卷积核可以帮助我们理解网络是如何学习特定的特征和模式的。可以将卷积核可视化为图像,显示出每个卷积核对应的特定特征。

  4. 可视化梯度:可视化神经网络中的梯度可以帮助我们理解网络在反向传播过程中的信息流动情况,以及各层对梯度的贡献程度。通过可视化梯度,可以判断网络是否出现梯度消失或梯度爆炸的情况。

  5. 可视化网络输出:将网络的输出结果可视化可以帮助我们理解网络对不同输入数据的预测或分类结果。例如,在图像分类任务中,可以将网络对输入图像的分类概率可视化为柱状图或热力图,从而了解网络对不同类别的置信度等

本文给大家介绍12个神经网络可视化解释的利器。

注:图片均来自网络

1. draw_convnet

   draw_convnet是一个用于绘制卷积神经网络(Convolutional Neural Network,CNN)结构的Python库。它可以帮助我们以可视化的方式呈现CNN的层级结构、参数数量和数据流动情况,从而更好地理解和分析网络模型。

   draw_convnet库提供了一个简单的API,使我们能够通过指定层级、特征图大小、卷积核大小等参数来创建CNN的可视化图。以下是使用draw_convnet的简单示例:

from draw_convnet import draw_convnet

# 定义CNN结构
convnet_layers = [
    ('conv2d', {'shape': [32, 32, 3], 'kernel': [5, 5], 'pad': 'same', 'activ': 'relu'}),
    ('pool', {'shape': [32, 32, 3], 'kernel': [2, 2], 'stride': 2}),
    ('conv2d', {'shape': [16, 16, 32], 'kernel': [5, 5], 'pad': 'valid', 'activ': 'relu'}),
    ('pool', {'shape': [16, 16, 32], 'kernel': [2, 2], 'stride': 2}),
    ('flatten', {}),
    ('dense', {'units': 256, 'activ': 'relu'}),
    ('dense', {'units': 10, 'activ': 'softmax'})
]

# 绘制CNN结构图
draw_convnet(convnet_layers, 'convnet.png')

        在上面的示例中,我们首先定义了一个CNN的层级结构,其中包含了卷积层、池化层、全连接层等。然后,我们使用draw_convnet函数来创建CNN的可视化图,并将其保存为名为convnet.png的图像文件。

        通过使用draw_convnet库,我们可以直观地了解CNN的结构和参数设置,以及数据在网络中的流动方式。这有助于我们更好地理解和调试CNN模型,并对其进行优化和改进。

  • https://github.com/gwding/draw_convnet

2. NNSVG

        NNSVG(Neural Network SVG)是一个用于生成神经网络结构的可伸缩矢量图(Scalable Vector Graphics)的Python库。它可以将神经网络的结构以可视化的方式呈现,包括层级结构、连接关系和节点信息,从而帮助我们更好地理解和分析神经网络模型。

        NNSVG的主要功能是根据给定的神经网络参数,生成相应的SVG图形文件。这使得生成的图像可以无损放大或缩小,而不会导致图像质量的损失。这对于展示大型复杂的神经网络结构非常有用,因为我们可以根据需要自由调整图像的大小,以便查看细节或全局结构。

        使用NNSVG非常简单。以下是一个使用NNSVG生成神经网络结构的示例:

import nnsvg

# 定义神经网络结构
network = nnsvg.Network()
input_layer = nnsvg.Layer(784, name='Input')
hidden_layer1 = nnsvg.Layer(256, name='Hidden 1', activation='relu')
hidden_layer2 = nnsvg.Layer(128, name='Hidden 2', activation='relu')
output_layer = nnsvg.Layer(10, name='Output', activation='softmax')

# 建立网络层级关系
network.add_layer(input_layer)
network.add_layer(hidden_layer1)
network.add_layer(hidden_layer2)
network.add_layer(output_layer)
network.connect_layers()

# 生成SVG图像文件
network.save('network.svg')

        在上面的示例中,我们首先创建了一个神经网络结构,包括输入层、隐藏层和输出层,并指定了它们的节点数量和激活函数。然后,我们使用add_layer方法将层级添加到网络中,并使用connect_layers方法建立层级之间的连接关系。最后,我们使用save方法将生成的SVG图像保存为名为network.svg的文件。

        通过使用NNSVG,我们可以轻松地生成漂亮且可伸缩的神经网络结构图,以便进行展示、文档编写或学术研究等用途。这使得我们能够更好地传达和理解神经网络模型的结构和架构。

  • http://alexlenail.me/NN-SVG/LeNet.html

3. PlotNeuralNet

          PlotNeuralNet是一个用于可视化神经网络结构的Python库。它提供了简单易用的功能,可以以可视化的方式绘制神经网络的连接关系和节点信息,帮助我们更好地理解和展示神经网络模型。

        使用PlotNeuralNet,我们可以通过简洁的代码生成高质量的神经网络结构图。以下是一个使用PlotNeuralNet生成神经网络结构图的示例:

from plotneuralnet import PlotNeuralNet

# 创建一个PlotNeuralNet实例
nn = PlotNeuralNet()

# 定义神经网络结构
nn.add_input_layer(784)
nn.add_hidden_layer(256, activation='relu')
nn.add_hidden_layer(128, activation='relu')
nn.add_output_layer(10, activation='softmax')

# 生成神经网络结构图
nn.build()

# 绘制神经网络结构图
nn.save_fig("neural_network.png")

        在上面的示例中,我们首先导入PlotNeuralNet库并创建一个PlotNeuralNet实例。然后,我们使用add_input_layeradd_hidden_layeradd_output_layer方法定义了神经网络的各个层级,并指定了激活函数。接下来,我们使用build方法生成神经网络的结构图,并使用save_fig方法将图像保存为名为neural_network.png的文件。

        使用PlotNeuralNet可以轻松地创建神经网络结构图,图形清晰美观。它提供了一些自定义选项,如激活函数的选择和节点样式的修改,以便满足不同的需求。无论是在学术研究中展示模型结构,还是在技术报告中呈现神经网络架构,PlotNeuralNet都是一个方便而实用的工具。

  • https://github.com/HarisIqbal88/PlotNeuralNet

 

4. Tensorboard

        TensorBoard是一个用于可视化和监控深度学习模型训练过程的工具,由TensorFlow提供支持。它提供了一个直观的Web界面,可以帮助我们可视化模型的架构、训练过程中的损失和指标变化、模型参数的分布情况以及训练样本的可视化等。

TensorBoard的主要功能包括:

  1. 可视化模型图: TensorBoard可以绘制和展示神经网络模型的计算图,帮助我们理解模型的结构、层级关系和参数连接情况。这有助于调试和优化模型的架构。

  2. 实时损失和指标曲线: 在训练过程中,TensorBoard可以实时显示损失函数、准确率、验证指标等的变化曲线图。这使得我们可以方便地监控模型的训练进度,并对训练过程进行调整和优化。

  3. 模型参数分布可视化: TensorBoard可以可视化模型参数的分布情况,帮助我们了解模型参数的取值范围和分布情况。这对于调试模型和发现潜在问题非常有帮助。

  4. 特征可视化: TensorBoard提供了一些特征可视化工具,如嵌入空间的投影、图像生成等,可以帮助我们理解模型对输入数据的表示和学习过程。

  5. 训练样本可视化: TensorBoard可以显示训练数据的可视化,包括图像、音频、文本等。这有助于我们检查和验证数据预处理的效果。

        使用TensorBoard,我们只需要将训练过程中的日志数据保存到指定的目录,并在终端运行TensorBoard命令,就可以在浏览器中访问TensorBoard的Web界面,查看和分析训练过程的可视化结果。

        总的来说,TensorBoard是一个非常强大和实用的工具,能够帮助我们更好地理解、调试和优化深度学习模型。无论是在研究中可视化模型,还是在工程中监控训练过程,TensorBoard都是一个非常有用的辅助工具。

  • https://www.tensorflow.org/tensorboard/graphs

 

图片

5. Caffe

Caffe也提供了可视化神经网络的功能,让用户可以更好地理解和分析模型的结构。

Caffe的可视化神经网络主要通过两个工具实现:NetDraw和NetSurgery。

  1. NetDraw: NetDraw是Caffe的一个可视化工具,可以绘制和展示神经网络模型的架构图。通过NetDraw,用户可以直观地查看模型的层级结构、层之间的连接方式以及层的属性。NetDraw生成的网络图形可以帮助用户理解模型的组织方式和数据流动路径。

  2. NetSurgery: NetSurgery是Caffe的另一个工具,可以在训练之前或之后对已有的模型进行修改和调整。通过NetSurgery,用户可以直接编辑和修改网络模型的参数、层的属性和连接关系。这使得用户可以根据自己的需求对模型进行定制和优化。

  • https://github.com/BVLC/caffe/blob/master/python/caffe/draw.py

 

6.Matlab

        Matlab是一种流行的科学计算和数据分析工具,它也提供了用于可视化神经网络的功能。在Matlab中,可以使用Neural Network Toolbox来构建、训练和可视化神经网络模型。

以下是Matlab中可视化神经网络的一些常用功能和工具:

  1. neuralnetworkgui: neuralnetworkgui是Matlab中的一个交互式图形界面工具,可以用于可视化和编辑神经网络。通过neuralnetworkgui,用户可以直观地构建神经网络模型,设置网络的层级结构、连接方式和参数等。该工具还提供了可视化的训练进度和性能指标,方便用户进行模型的调试和优化。

  2. view: 在Matlab中,可以使用view函数来可视化已构建的神经网络模型。通过view函数,用户可以查看网络的层级结构、连接方式和权重等信息。该函数将网络表示为一个图形,方便用户理解和分析模型的组织方式和数据流动路径。

  3. plotperf: plotperf函数可以用于绘制训练过程中的性能指标曲线,如损失函数曲线、准确率曲线等。通过可视化这些曲线,用户可以直观地了解模型在训练过程中的性能变化情况,以便进行模型的评估和调整。

  4. gensim: gensim是Matlab中的一个函数,用于生成神经网络的仿真图。该函数可以根据给定的网络结构和参数生成网络的仿真图像,展示神经元之间的连接和激活情况。这有助于用户更好地理解和分析神经网络的工作原理。

  • http://www.mathworks.com/help/nnet/ref/view.html

 

7.Keras.js

        Keras.js是一个用于在Web浏览器中运行Keras模型的开源JavaScript库。它提供了一个简单易用的界面,用于加载和执行经过训练的Keras模型,并在Web浏览器中进行预测。

        Keras.js还提供了一些可视化神经网络的功能,以帮助用户更好地理解和分析模型的结构。以下是Keras.js中常用的可视化功能:

  1. 模型摘要(Model Summary): 使用Keras.js,可以轻松地生成神经网络模型的摘要。摘要提供了模型的层级结构、层级名称、输出形状和可训练参数数量等信息。这有助于用户快速了解模型的组成和规模。

  2. 层级可视化(Layer Visualization): Keras.js提供了一种方式来可视化神经网络的每个层级。通过该功能,用户可以查看每个层级的名称、类型和输出形状。这有助于用户了解神经网络模型中不同层级的作用和信息流动。

  3. 权重可视化(Weight Visualization): Keras.js允许用户可视化神经网络模型中各层级的权重。权重可视化提供了权重矩阵的热图或其他可视化形式,显示了神经元之间的连接强度和权重分布。这有助于用户理解模型中的重要特征和连接模式。

  4. 激活可视化(Activation Visualization): 使用Keras.js,用户可以可视化神经网络中的激活函数的输出。这可以通过绘制激活函数的热图或可视化每个层级的激活值来实现。激活可视化有助于用户了解模型在不同层级上的信息流动和特征提取过程。

通过以上可视化功能,Keras.js使用户能够直观地了解和分析神经网络模型的结构、权重分布和激活情况。这有助于用户对模型进行调试、优化和解释,并提供了对模型工作原理的更深入理解。

  • https://transcranial.github.io/keras-js/#/inception-v3

 

8. DotNet

在 .NET 中可视化神经网络可以借助各种工具和库来实现。以下是几个常用的方式:

  1. TensorFlow.NET: TensorFlow.NET 是一个 .NET 接口到 TensorFlow 的库。它提供了在 .NET 中构建和训练神经网络的功能,并且支持可视化神经网络结构。TensorFlow.NET 可以通过导出模型的图形定义文件(GraphDef)来生成神经网络结构的可视化图表,然后可以使用其他工具(如 TensorBoard)加载和查看这些图表。

  2. Accord.NET: Accord.NET 是一个功能强大的机器学习框架,提供了各种机器学习和图像处理的算法和工具。它包含了用于构建和训练神经网络的模块,并且支持将神经网络结构可视化为图形。Accord.NET 提供了一个名为 NetworkGraph 的类,可以将神经网络转换为 Graphviz DOT 格式的图形定义,然后使用 Graphviz 工具来生成可视化图表。

  3. Neural Network Designer: Neural Network Designer 是一个专为 .NET 平台开发的神经网络可视化工具。它提供了一个可视化界面,允许用户直观地构建和配置神经网络结构,并提供实时的可视化效果。Neural Network Designer 支持多种常见的神经网络层和激活函数,并且可以生成可嵌入到 .NET 应用程序中的可执行代码。

  • https://github.com/martisak/dotnets

 

9. Graphviz

        Graphviz 是一个开源的图形可视化工具包,可以用于可视化各种图形结构,包括神经网络。它提供了一组用于描述图形的语言和工具,可以将图形结构定义转换为图像或矢量图的形式。

        在可视化神经网络方面,Graphviz 提供了多种布局算法和绘图选项,可以根据用户的需求生成美观且易于理解的图表。使用 Graphviz 可以帮助我们直观地了解神经网络的结构、层次关系以及信息流动。

以下是使用 Graphviz 可视化神经网络的基本步骤:

  1. 安装 Graphviz: 首先,需要在计算机上安装 Graphviz 软件包。可以从 Graphviz 的官方网站(https://graphviz.org/)下载适用于您操作系统的版本,并按照安装指南进行安装。

  2. 定义神经网络结构: 在代码中定义神经网络的结构,包括各个层的连接关系和激活函数。这可以使用各种深度学习框架(如 TensorFlow、PyTorch、Keras 等)来完成。

  3. 生成 Graphviz 图形定义: 将神经网络结构转换为 Graphviz 图形定义,这可以使用各种库或自定义代码来完成。例如,可以使用 Python 中的 pygraphviz 库或 graphviz 库来生成 Graphviz 的 DOT 格式的图形定义。

  4. 绘制神经网络图形: 使用 Graphviz 提供的命令行工具或编程接口,将图形定义文件转换为实际的图像或矢量图形。可以选择不同的布局算法和绘图选项,以获得最合适的图形呈现效果。

  5. 查看和保存图形: 生成的神经网络图形可以在图形工具(如图片查看器)中查看,或者以图像文件(如 PNG、SVG)的形式保存到磁盘上。

  • http://www.graphviz.org/

 

10. ConX

        ConX(Cognitive Architecture for Machine Learning)是一个基于Python的开源深度学习框架,用于构建、训练和评估神经网络模型。它的设计旨在简化深度学习的过程,并提供一种直观的方式来定义、可视化和调试神经网络。

以下是 ConX 的一些特点和功能:

  1. 简单易用: ConX 提供了简洁的 API 和直观的命令行界面,使用户能够快速开始构建神经网络模型。它采用了类似于Keras的高级接口,使得模型的定义和训练过程更加直观和简单。

  2. 多种网络类型: ConX 支持多种类型的神经网络,包括全连接网络、卷积神经网络(CNN)、循环神经网络(RNN)等。用户可以根据应用需求选择合适的网络类型。

  3. 可视化工具: ConX 提供了内置的可视化工具,可以帮助用户直观地了解模型的结构、参数和训练过程。它支持绘制网络拓扑图、绘制训练曲线、可视化权重和激活图等功能。

  4. 模型调试和优化: ConX 具有丰富的调试和优化功能,可以帮助用户分析和解决模型中的问题。它提供了可视化的网络输出和中间层输出,帮助用户理解模型的决策过程。

  5. 集成学习算法: ConX 支持集成学习算法,如 dropout 和集成平均等,可以提高模型的泛化能力和鲁棒性。

  6. 模型保存和加载: ConX 提供了方便的模型保存和加载功能,用户可以将训练好的模型保存到磁盘上,并在需要时重新加载进行预测或继续训练。

  • https://conx.readthedocs.io/en/latest/index.html

 

11. ENNUI

ENNUI 提供了以下主要功能和特点:

  1. 可视化神经网络结构:ENNUI 可以将神经网络的结构以图形化的方式呈现,展示各个层、神经元和连接之间的关系。这有助于用户更好地理解网络的整体架构。

  2. 层内神经元分布:ENNUI 可以展示每个层内神经元的分布情况,包括激活值、权重和偏差等信息。这使用户可以观察不同神经元之间的差异和分布情况。

  3. 特征可视化:ENNUI 提供了特征可视化的功能,可以显示网络中不同特征的激活图像。这对于理解网络学习到的特征和模式非常有帮助。

  4. 神经元响应可视化:用户可以通过 ENNUI 可视化神经元对输入数据的响应情况。这使用户可以观察到不同神经元对不同输入的激活情况,从而了解网络是如何对输入进行处理和提取特征的。

  5. 梯度可视化:ENNUI 可以可视化神经网络中梯度的流动情况。这对于理解梯度在网络中的传播和反向传播过程非常有帮助,有助于调试和优化网络的训练过程。

  • https://math.mit.edu/ennui/

 

12. Neataptic

        Neataptic 是一个用于构建和训练神经网络的 JavaScript 库。它是一个轻量级、灵活且易于使用的库,旨在帮助开发人员实现各种类型的神经网络模型。

以下是 Neataptic 的一些特点和功能:

  1. 神经网络类型:Neataptic 支持多种类型的神经网络,包括前馈神经网络 (Feedforward Neural Networks)、循环神经网络 (Recurrent Neural Networks) 和长短期记忆网络 (Long Short-Term Memory Networks) 等。

  2. 网络拓扑:您可以使用 Neataptic 定义神经网络的拓扑结构,包括神经元的层数、每层的神经元数量、连接方式等。

  3. 神经元模型:Neataptic 提供了一系列常用的神经元模型,例如线性神经元、Sigmoid 神经元、ReLU 神经元等。您可以根据需要选择适合的激活函数。

  4. 网络训练:使用 Neataptic,您可以对神经网络进行训练,以适应特定的任务。您可以定义损失函数、选择优化器,并通过反向传播算法更新网络参数。

  5. 遗传算法:Neataptic 还提供了遗传算法的支持,以帮助进行神经网络的进化和优化。您可以定义适应度函数,并使用遗传算法自动搜索最佳网络结构和参数。

  6. 可视化工具:Neataptic 提供了一些可视化工具,可以帮助您理解和调试神经网络。您可以可视化网络拓扑、训练过程中的损失曲线等。

  • https://wagenaartje.github.io/neataptic/

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45368632/article/details/131314122

智能推荐

分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告_预计2026年中国分布式传感器市场规模有多大-程序员宅基地

文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大

07_08 常用组合逻辑电路结构——为IC设计的延时估计铺垫_基4布斯算法代码-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码

OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版

关于美国计算机奥赛USACO,你想知道的都在这_usaco可以多次提交吗-程序员宅基地

文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗

MySQL存储过程和自定义函数_mysql自定义函数和存储过程-程序员宅基地

文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程

半导体基础知识与PN结_本征半导体电流为0-程序员宅基地

文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0

随便推点

【Unity3d Shader】水面和岩浆效果_unity 岩浆shader-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader

广义线性模型——Logistic回归模型(1)_广义线性回归模型-程序员宅基地

文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型

HTML+CSS大作业 环境网页设计与实现(垃圾分类) web前端开发技术 web课程设计 网页规划与设计_垃圾分类网页设计目标怎么写-程序员宅基地

文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写

C# .Net 发布后,把dll全部放在一个文件夹中,让软件目录更整洁_.net dll 全局目录-程序员宅基地

文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录

BRIEF特征点描述算法_breif description calculation 特征点-程序员宅基地

文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点

房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文_基于spring boot的房屋租赁系统论文-程序员宅基地

文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文