关于keras构建的神经网络的输出结果解释?keras 在不平衡数据上的 fit -- class_weight

2023-06-26 18:00:02 78

关于keras构建的神经网络的输出结果解释?keras 在不平衡数据上的 fit -- class_weight

本文目录

关于keras构建的神经网络的输出结果解释

  • ETA:Estimated Time of Arrival。Loss:系统的损失。acc:Accuracy正确率。

  • from keras.datasets import mnist
    from keras.utils import np_utils
    from keras.models import Sequential
    from keras.layers import Dense, Activation, Conv2D, MaxPooling2D, Flatten
    from keras.optimizers import Adam
    # 加载数据集
    (X_train, y_train), (X_test, y_test) = mnist.load_data()
    # 数据集预处理
    X_train = X_train.reshape(-1, 1, 28, 28)
    X_test = X_test.reshape(-1, 1, 28, 28)
    # 将label变为向量

keras 在不平衡数据上的 fit -- class_weight

keras已经在新版本中加入了 class_weight = ’auto’。
设置了这个参数后,keras会自动设置class weight让每类的sample对损失的贡献相等。例子如下:

clf.fit()

Python深度学习中keras,tensorflow,scikit-learn哪个好用

scikit-learn主要是用于机器学习,要是深度学习的话不太适合。
keras和tensorflow其实是一家,tensorflow自带了tf.keras,所以我觉得两个可以都学,不冲突。
keras能够快速搭建一个较为简单的模型,通过调用keras.layers中的类就可以搭建一个简单的模型,tensorflow相比于keras能够改变具体模型内部的计算方法,更适合深入研究算法。
所以我建议先用keras入门,等到keras逐渐不能满足需求时,再用tensorflow与keras结合的方法构建你自己的模型结构
可以去看看tensorflow2的教程(因为tf2大部分都是用keras编写,所以也会有人叫kerasflow)

keras中模型如何传递到函数里供函数体使用

我的一个模型含有自定义层“SincConv1D”,需要使用下面的代码导入。
我的一个模型含有自定义层“SincConv1D”,需要使用下面的代码导入:
from keras.models import load_model
model = load_model(’model.h5’, custom_objects={’SincConv1D’: SincConv1D})
如果不加custom_objects指定目标层Layer,则会出现以下报错:
ValueError: Unknown layer: SincConv1D
同样的,当我的模型含有自定义函数“my_loss”,需要使用下面的代码导入:
from keras.models import load_model
model = load_model(’model.h5’, custom_objects={’my_loss’: my_loss})
补充知识:keras加载模型load_model报错——ValueError: Unknown layer: CRF
我就废话不多说了,大家还是直接看代码吧!
from keras.models import load_model
model = load_model(model_path)
会报错,需要在load_model函数中添加custom_objects参数,来声明自定义的层
(用keras搭建bilstm-crf,在训练模型时,使用的是:
from keras_contrib.layers.crf import CRF)
from keras_contrib.layers.crf import CRF, crf_loss, crf_viterbi_accuracy
model = load_model(model_path, custom_objects={“CRF“: CRF, ’crf_loss’: crf_loss,
’crf_viterbi_accuracy’: crf_viterbi_accuracy})

keras如何快速入门

作者 | 杨照璐(微信号lwyzl0821)

| 言有三

这一次我们讲讲keras这个简单、流行的深度学习框架,一个图像分类任务从训练到测试出结果的全流程。

相关的代码、数据都在我们 Git 上,希望大家 Follow 一下这个 Git 项目,后面会持续更新不同框架下的任务。

Keras是一个非常流行、简单的深度学习框架,它的设计参考了torch,用Python语言编写,是一个高度模块化的神经网络库,支持GPU和CPU。能够在TensorFlow,CNTK或Theano之上运行。 Keras的特点是能够快速实现模型的搭建, 简单方便地让你实现从想法到实验验证的转化,这都是高效地进行科学研究的关键。

Keras的安装非常简单,但是需要先安装一个后端框架作为支撑,TensorFlow, CNTK,Theano都可以,但是官网上强烈建议使用TensorFlow作为Keras的后端进行使用。本例以TensorFlow 1.4.0 版本作为Keras的后端进行测试。

通过上面两条命令就可以完成TensorFlow和Keras的安装,此处需要注意的一点是Keras的版本和TensorFlow的版本要对应,否则会出现意外的错误。具体版本对应关系可在网上进行查询。

3.1 MNIST实例

MNIST手写字符分类被认为是深度学习框架里的“Hello Word!”,下面简单介绍一下MNIST数据集案例的测试。Keras的官方github的example目录下提供了几个MNIST案例的代码,下载mnist_mlp.py,mnist_cnn.py文件,本地运行即可,其他文件读者也可以自行测试。

3.2 数据定义

前面我们介绍了MNIST数据集实例,很多读者在学习深度学习框架的时候都卡在了这一步,运行完MNIST实例之后无从下手,很大原因可能是因为不知道怎么处理自己的数据集,这一节我们通过一个简单的图像二分类案例,介绍如何实现一个自定义的数据集。

数据处理有几种方式,一种是像MNIST、CIFAR数据集,这些数据集的特点是已经为用户打包封装好了数据。用户只要load_data即可实现数据导入。其实就是事先把数据进行解析,然后保存到.pkl 或者.h5等文件中,然后在训练模型的时候直接导入,输入到网络中;另一种是直接从本地读取文件,解析成网络需要的格式,输入网络进行训练。但是实际情况是,为了某一个项目我们不可能总是找到相应的打包好的数据集供使用,这时候自己建立一个dataset就十分重要。

Keras提供了一个图像数据的数据增强文件,调用这个文件我们可以实现网络数据加载的功能。

此处采用keras的processing模块里的ImageDataGenerator类定义一个图像分类任务的dataset生成器:

下面简单地介绍一下上面的代码,完整代码请移步Git工程。

Keras的processing模块中提供了一个能够实时进行数据增强的图像生成类ImagGenerator,该类下面有一个函数flow_from_directory,顾名思义该函数就是从文件夹中获取图像数据。关于ImageGenerator更多的使用可以参考官方源码。数据集结构组织如下:

此处还需要注意的一点是,我们现在进行的是简单的图像分类任务训练,假如要完成语义分割,目标检测等任务,则需要自定义一个类(继承ImageDataGenerator),具体实现可以查询相关代码进行参考。

Keras网络模型搭建有两种形式,Sequential 顺序模型和使用函数式API的 Model 类模型。本教程的例子采用一个简单的三层卷积,以及两层全连接和一个分类层组成的网络模型。由于函数式API更灵活方便,因此下面采用函数式方法搭建模型,模型定义如下:

4.1 函数式API

即输出是12通道,卷积核大小3*3,步长为2,padding=’same’表示边缘补零

axis表示需要归一化的坐标轴,bn_axis=3,由于采用TensorFlow作为后端,因此这句代码表示在通道数坐标轴进行归一化。

x = Flatten()(x) 表示将卷积特征图进行拉伸,以便和全连接层Dense()进行连接。

Dense()实现全连接层的功能,1200是输出维度,‘relu’表示激活函数,使用其他函数可以自行修改。

最后一层采用‘softmax’激活函数实现分类功能。

最终返回Model,包含网络的输入和输出。

4.2 模型编译

网络搭建完成,在网络训练前需要进行编译,包括学习方法、损失函数、评估标准等,这些参数分别可以从optimizer、loss、metric模块中导入。具体代码如下:

其中callbacks模块包含了TensorBoard, ModelCheckpoint,LearningRateScheduler等功能,分别可以用来可视化模型,设置模型检查点,以及设置学习率策略。

5.1 模型训练

Keras模型训练过程非常简单,只需一行代码,设置几个参数即可,具体代码如下:

首先指定数据生成器,train_generator, 前面介绍过;steps_per_epoch是每次epoch循环的次数,通过训练样本数除以batch_size得到;epochs是整个数据集重复多少次训练。

Keras是高度封装的,在模型训练过程中,看不到网络的预测结果和网络的反向传播过程,只需定义好损失函数,事实上,网络定义中的模型输出会包含网络的输入和输出。

5.2 训练过程可视化

keras可以采用tensorboard实现训练过程的可视化。执行完下面的命令就可以在浏览器访问

keras和tensorflow的关系

Keras作为前端,TensorFlow作为后端。
1.一直在用keras,说点个人感受。
2.和TensorFlow对应的是Theano,Torch,而Caffe专精于图像处理。3.Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口。

关于keras构建的神经网络的输出结果解释?keras 在不平衡数据上的 fit -- class_weight

本文编辑:admin
: keras,

更多文章:


ui设计培训哪里比较好(去哪里学UI设计最好)

ui设计培训哪里比较好(去哪里学UI设计最好)

本文目录去哪里学UI设计最好ui设计培训哪家好 ui培训哪个好 ui课程 uiui设计培训哪家机构学习氛围好点深圳ui设计培训哪个好去哪里学UI设计最好电商设计培训学校有很多,注意从以下几个方面对比选择:1、学校文化,其实学校文化就是一个学

2024年6月29日 15:18

物流公司网站模板(淘宝如何设置物流模板)

物流公司网站模板(淘宝如何设置物流模板)

本文目录淘宝如何设置物流模板物流、配送安装模版怎么设置如何建立物流配货网站货运公司简介模板求免费网站建设模板!!我是物流公司,求物流公司网站模板,大家帮忙推荐一下哈菜鸟怎么建物流公司网站物流公司网站建设哪家好淘宝,快递模板怎么设置,还有默认

2024年7月16日 09:22

was的用法是什么?英语中“was”是什么意思

was的用法是什么?英语中“was”是什么意思

本文目录was的用法是什么英语中“was”是什么意思was的原形是什么“was”怎么读waste 是什么意思was是什么意思啊waste是什么意思怎么读wasabi是什么梗was的用法是什么was 是am is 过去式 ;were 是are

2024年6月28日 07:48

powerful中文意思(powerful 是什么意思)

powerful中文意思(powerful 是什么意思)

本篇文章给大家谈谈powerful中文意思,以及powerful 是什么意思对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录powerful

2024年8月24日 00:20

linux镜像文件iso下载(如何制作Oracle Linux ISO文件)

linux镜像文件iso下载(如何制作Oracle Linux ISO文件)

本文目录如何制作Oracle Linux ISO文件如何把Linux系统ISO镜像文件转换成ghost格式如何制作Oracle Linux ISO文件一般网上下载的应该都是ISO镜像文件,你是否是需要把你电脑上现有的解压过的文件制作成ISO

2024年6月21日 00:25

delight名词(喜欢 用delight的词组怎么表示可以说be delighted with吗)

delight名词(喜欢 用delight的词组怎么表示可以说be delighted with吗)

本文目录喜欢 用delight的词组怎么表示可以说be delighted with吗请给出delight的用法,谢谢了delight和happy有什么区别delighting delightgul的区别happy,pleasant(ple

2024年7月23日 06:42

网页设计用dw哪个版本好(请问dw哪个版本好用点)

网页设计用dw哪个版本好(请问dw哪个版本好用点)

“网页设计用dw哪个版本好”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看网页设计用dw哪个版本好(请问dw哪个版本好用点)!本文目录请问dw哪个版本好用点Dreamweaver哪个版本好用大学dw该下哪个版本的dreamw

2024年8月29日 23:40

syntaxerror是什么错误(python2.7出现syntaxerror: invalid syntax错误)

syntaxerror是什么错误(python2.7出现syntaxerror: invalid syntax错误)

本文目录python2.7出现syntaxerror: invalid syntax错误python 2.6 中SyntaxError是什么错误关于网页提示脚本错误:SyntaxError,请教该如何处理如图,运行pycharm结果出现sy

2024年5月10日 22:16

basketball court(basketball court是什么意思)

basketball court(basketball court是什么意思)

本文目录basketball court是什么意思basketball court怎么读basketball court是什么意思basketballcourt篮球场双语对照词典结果:basketballcourt篮球场;以上结果来自金山词

2023年12月29日 06:20

imageicon(java中如何在按钮上加图片)

imageicon(java中如何在按钮上加图片)

各位老铁们,大家好,今天由我来为大家分享imageicon,以及java中如何在按钮上加图片的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录java

2024年8月13日 19:25

for的用法?for是什么意思

for的用法?for是什么意思

本文目录for的用法for是什么意思forrester percy evan什么意思thank you for being my friend being around是什么意思for的用法for的用法1、表示“当作、作为”。如:I lik

2024年5月22日 12:32

网站开发课程(网站开发所需要学习的课程有哪些)

网站开发课程(网站开发所需要学习的课程有哪些)

本文目录网站开发所需要学习的课程有哪些网站开发的主要课程网站开发建设,需要学习什么课程网站开发与设计本科四年都学什么课程网站开发都有什么课程网站开发所需要学习的课程有哪些“网站开发分为网站前台美工,主要学习的dw、 ps、 flash、 f

2024年7月21日 15:43

gitlab github(Gitlab是什么)

gitlab github(Gitlab是什么)

本文目录Gitlab是什么GitLab的使用(一)——浅谈git、github、gitlab的区别gitlab如何创建分支gitlab怎么用gitlab和github的区别gitlab github密码是一样的吗gitlab和github市

2024年7月19日 13:12

阿里云服务器价格表(阿里云服务器租用费用是多少)

阿里云服务器价格表(阿里云服务器租用费用是多少)

本文目录阿里云服务器租用费用是多少阿里云服务器多少钱云服务器费用一般是多少想了解一下行情最便宜的阿里云服务器是多大容量的呀,价格多少呀阿里云服务器租金一个月多少钱阿里云香港服务器多少钱一个月阿里云服务器多少钱,收费标准阿里云服务器一年多少钱

2024年7月5日 07:29

persuade什么意思(persuaded 是什么意思)

persuade什么意思(persuaded 是什么意思)

本文目录persuaded 是什么意思persuade的用法和搭配是怎么样的persuade是什么意思persuaded 是什么意思persuaded说服( persuade的过去式和过去分词 ); 劝告; 使信服; 使相信The pres

2024年7月22日 17:59

ros系统和linux的区别(ucos和linux的区别和联系是什么)

ros系统和linux的区别(ucos和linux的区别和联系是什么)

本文目录ucos和linux的区别和联系是什么ros是什么意思ROS是什么windows linuxandrod三种操作系统有什么区别和联系ucos和linux的区别和联系是什么区别:ucos有执行效率高、占用空间小、实时性和可扩展性强等特

2023年6月30日 15:20

微信小程序投票网为什么进不去?小程序4g网能进wifi进不去 原因及解决方法

微信小程序投票网为什么进不去?小程序4g网能进wifi进不去 原因及解决方法

本文目录微信小程序投票网为什么进不去小程序4g网能进wifi进不去 原因及解决方法小程序网站应该如何推广微信小程序常见网络请求失败问题总结及解决方案小程序可以连接网站吗做微信小程序网站有哪些现在建设一个小程序网站行价是多少呢微信小程序投票网

2024年7月6日 16:33

checkedlistbox全选(C#中checkedlistbox的用法)

checkedlistbox全选(C#中checkedlistbox的用法)

本文目录C#中checkedlistbox的用法checkedlistbox用法c#中checkedlistbox控件,如何能像文件一样,按住ctrl或者shift,把中间的内容全部勾上C# checkedListBox 全选与反选怎么做C

2024年7月10日 10:03

oracle数据库快捷键(oracle怎么设置快捷键)

oracle数据库快捷键(oracle怎么设置快捷键)

各位老铁们,大家好,今天由我来为大家分享oracle数据库快捷键,以及oracle怎么设置快捷键的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录or

2024年8月9日 09:35

滑块导轨装配图(普通直线导轨的摩擦系数大概是多少)

滑块导轨装配图(普通直线导轨的摩擦系数大概是多少)

本文目录普通直线导轨的摩擦系数大概是多少用丝杆螺母驱动,螺母与直线导轨上的滑块如何连接键盘滑轨怎么安装图解有几道机械制图题大家给看看呗:滑块与导轨的基本尺寸是24,采用基孔制间隙配合,标准公差等级均为IT8,滑PROE中的滑块与导轨的装配约

2023年7月15日 07:00

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1154
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索