AI-040: Python深度学习3 - 三个Karas实例-2

十三 Keras卷积神经网络 cifar10 Karas 从网上下载的数据集都保存在下面的目录里 (train_image, train_label), (test_image, test_label) = cifar.load_data() 从datasets中直接加载数据集 train_image.shape, test_image.shape 神经网络:最好做归一化处理(神经网络喜欢统一的,比较小的数据) train_image... 阅读详情

实例2:

通过路透社数据集来将文本区分46个不同主题

这里与上一个实例不同的地方:这是个多元分类问题,因此最终输出是46维向量

加载数据

from keras.datasets import reuters
(train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)

预处理数据:

将样本映射到单词词典,转化为相同长度的向量

import numpy as np

def vectorize_sequences(sequences, dimension=10000):
    results = np.zeros((len(sequences), dimension))
    for i, sequence in enumerate(sequences):
        results[i, sequence] = 1.
    return results


# Our vectorized training data
x_train = vectorize_sequences(train_data)
# Our vectorized test data
x_test = vectorize_sequences(test_data)

将标签转换为one-hot编码,就是这样的向量[0,0,0,1,0,0,...],这个例子表示样本属于第四类主题。

def to_one_hot(labels, dimension=46):
    results = np.zeros((len(labels), dimension))
    for i, label in enumerate(labels):
        results[i, label] = 1.
    return results


# Our vectorized training labels
one_hot_train_labels = to_one_hot(train_labels)
# Our vectorized test labels
one_hot_test_labels = to_one_hot(test_labels)

构建网络:

这里因为输出是46维,为了防止信息瓶颈,每层的元素要多一些,这里先选取为64

输出层的激活函数选取softmax,这样可以求取每个取值的概率,这里一共46个概率且和为1。

from keras import models
from keras import layers

model = models.Sequential()
model.add(layers.Dense(64, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(46, activation='softmax'))

设置模型的损失函数、优化器、评估标准

由于是多元分类,这里选取分类交叉熵作为损失函数,他将网络输出的概率分布与目标的真实分布之间的距离最小化。

model.compile(optimizer='rmsprop',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

训练模型

x_val = x_train[:1000]
partial_x_train = x_train[1000:]

y_val = one_hot_train_labels[:1000]
partial_y_train = one_hot_train_labels[1000:]

history = model.fit(partial_x_train,
                    partial_y_train,
                    # epochs=15,
                    epochs=20,  # 从绘制的图形分析出,8轮次后出现过耦合现象,可以停止
                    batch_size=512,
                    validation_data=(x_val, y_val))

可以通过绘制损失和经度在训练集、校验集上的图形来调整超参数:

plt.plot(epochs, loss, 'bo', label='Training loss')
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()

plt.show()

plt.clf()   # clear figure

acc = history.history['acc']
val_acc = history.history['val_acc']

plt.plot(epochs, acc, 'bo', label='Training acc')
plt.plot(epochs, val_acc, 'b', label='Validation acc')
plt.title('Training and validation accuracy')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()

plt.show()

通过图形可以看到在训练到第八轮时达到最优,再训练就过耦合了。可以调整轮次为9。

预测数据:

概率最大的就是最有可能的分类

predictions = model.predict(x_test)
print(predictions[1].shape)
print(np.sum(predictions[1]))
print(predictions[1])
print(np.argmax(predictions[1]))

第二个测试样本属于第十一类主题(0是第一类),可能性达到95%

Tensorflow.keras.layers各种层的学习笔记 keras中一些layers的学习笔记 阅读详情

相关推荐

LSTM的神经网络keras实现

加载keras模块from keras.models import Sequential from keras.layers import LSTM, Dense from keras.datasets import mnist from keras.utils import np_utils from keras import initializations def init_weights(...

dongdouzin的博客 2517

AI-039: Python深度学习3 - 三个Karas实例-1

实例:通过imdb的评价数据来分析电影的好坏。 套路: 1. 预处理数据 2. 建立网络模型(层数、每层节点数、激活函数) 3. 选取损失函数、优化器,训练轮次及批量大小 4. 使用训练集训练模型 5. 根据训练结果调整2、3 6. 使用校验集校验模型 7. 根据校验结果调整2、3 8. 使用测试集预测结果 9. 根据测试结果调整2、3 10. 最终获得满意的模型:) 最终...

拥抱AI的老粽子 1805

karas-battle-city:karas的Battle City演示

卡拉斯战役城市 karas进行的战斗城市演示。

『python学习』keras库学习

1、Keras的核心数据结构是“模型”,模型是一种组织网络层的方式。Keras中主要的模型是Sequential模型,Sequential是一系列网络层按顺序构成的栈 from keras.models import Sequential model = Sequential() # coding:utf-8 # 使用神经网络算法预测销量高低 import pandas as pd #

L聪记博客 3331

python基于keras网络模型的车牌识别

基于python的利用keras网络模型的车牌识别,有完整的代码,包括图像预处理和训练完的模型。

python 中心线提取_二值分析 | OpenCV + skimage如何提取中心线

点击上方蓝字关注我们微信公众号:OpenCV学堂关注获取更多计算机视觉与深度学习知识问题前几天有个人问了我一个问题,问题是这样的,他有如下的一张二值图像:怎么得到白色Blob中心线,他希望的效果如下:显然OpenCV中常见的轮廓分析无法获得上面的中心红色线段,本质上这个问题是如何提取二值对象的骨架,提取骨架的方法在OpenCV的扩展模块中,另外skimage包也支持图像的骨架提取。这里就...

weixin_42204453的博客 4290

机器学习 逻辑回归算法应用案例

机器学习 逻辑回归算法应用案例 时间:2020.09.12 出处:https://www.kesci.com/home/project/5bfe39b3954d6e0010681cd1 注明:初学逻辑回归,跟着博客大佬文章过了一遍,自己留个记录以便之后翻阅,也供大家学习。。 1、数据 本次数据为Kaggle著名的公开数据集坦泰尼克号之灾。 数据源地址:https://www.kaggle.com/c/titanic 如果你是第一次进入kaggle,你需要注册一个账号才能下载数据集,进入该链接之后请按下图找数

qq_43171122的博客 6494

《大明王朝1566》中,朝廷财政危机无法解决的根源分析

财政困局中的财富最终流向三重黑洞:​皇室挥霍​(如嘉靖炼丹修殿)、特权阶层贪腐​(严党年入百万两盐税)、制度性损耗​(宗室供养、低效官僚)。更深层的“钱”其实是被禁锢在道德化治理的牢笼中——当国家用“黄河长江皆可为用”的权术思维替代制度性改革时,财政危机便成为帝制王朝无法逃脱的宿命。

为了小家奋斗 1968

实现多元逻辑回归

课程回顾 逻辑回归:线性分类器,二分类 决策边界 通过前面的学习,我们知道逻辑回归是一个线性分类器,能够把线性可分的数据集分成两类,二维空间的数据都在一个平面上,可以被一条直线分成两类,这条直线就是决策边界。 在三维空间中线性分类器的决策边界是一个平面。 在高维空间中是一个超平面。 Iris数据集 在这节课中,我们就使用逻辑回归实现对鸢尾花的分类。 鸢尾花数据集中一共有150个样本,每个样本中有4个属性,分别是花萼的长度和宽度,花瓣的长度和宽度。一共包括三个品种,分别是山鸢尾,变色鸢尾和维基尼亚鸢尾。

qq_37289115的博客 6227

QT 实现QStackedWidget切换页面右移动画

首先截取当前界面的图片,渲染到一个QLabel上,然后设置QPropertyAnimation动画,动画的作用对象就是这个QLabel,不断的改变geometry;当动画结束的时候,隐藏并释放这个QLabel。以下是一个QStackedWidget,放了两个QPushButton在上面,点击切换不同的界面。为了方便查看动画特效,设置了每个界面的背景图片。

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 882

总结目前开源的视频生成/视频编辑大模型

随着Sora的爆火,视频生成和视频编辑受到了越来越多的关注。这篇博客总结一下目前开源的视频生成和视频编辑的大模型,并分析他们各自的优缺点,以及在自己进行科研任务或者工作中应该如何选用对应的开源模型,希望能给从事这一领域研究和使用的小伙伴们帮助。

沉迷单车的追风少年 3543

逻辑回归(LogisticRegression)算法及简单案例

逻辑回归(LogisticRegression)算法及简单案例 大家好,我是W 逻辑回归虽然名字有回归,但是实际上是分类模型,常用于二分类。**回归的意思是:在二维空间中找到一条最佳拟合直线去拟合数据点;在多维空间中找到最佳拟合超平面去拟合数据点,这个寻找拟合的过程就叫做回归。**这篇文章的顺序是:介绍相关概念、逻辑回归原理、案例 - 简单数据集的逻辑回归分类。 介绍相关概念 二值型输出分类函数 在我们通过回归得到一个数值时我们需要一个函数给我们做分类,在数学上我们就学过一个分段函数,x>0时,f(x

Alian_W的博客 1万+

【乐鑫】唤醒词修改方法

乐鑫科技的语音识别模块(如ESP-SR)支持自定义唤醒词,但需通过官方工具链完成。

以实战经验介绍行业知识 827

karas + opencv 实现AlexNet神经网络应用于图像分类

karaas+opencv实现AlexNet

qq_42333474的博客 1605

SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程-第一篇:ADT安装前置准备与环境校验教程

ABAP Development Tools(ADT)安装配置教程摘要 本文是ADT安装系列的第一篇,重点讲解环境准备与版本校验。ADT是基于Eclipse的现代ABAP开发工具,相比传统SAP GUI提供更智能的开发体验。安装前需确认: 推荐使用Eclipse 2026-03 + Java 21组合 操作系统需Windows 10+/macOS 14+ SAP GUI版本要求Windows≥8.00/macOS≥8.10 后端系统需NetWeaver 7.31 SP04+或S/4HANA 通过java -

baidu_35680696的博客 686

为什么我的OpenClaw安装后无法启动?Gateway服务故障排查全攻略

OpenClaw是一款功能强大的自动化工具,但其安装和运行依赖于多个服务组件,其中Gateway服务是核心组件之一。如果Gateway服务无法启动,整个OpenClaw系统将无法正常运行。本文将详细介绍OpenClaw安装后无法启动的常见原因及故障排查方法,帮助你快速定位并解决问题。

一键难忘的博客 4625

python之Keras基本操作总结

       1、通过np.loadtxt加载xls或者CSV中的数据集。不同模型不同数据类型在数据输入上有些许差异,所在往往需要自己重写数据载入。相关数据的提取可以参考:   https://blog.youkuaiyun.com/zx520113/article/details/84556489,TensorFlow   https://blog.youkuaiyun.com/zx520113/article/det...

SingWeek 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

keras安装与配置指南_Keras-快速指南

Keras-快速指南 (Keras - Quick Guide) Advertisements 广告 Previous Page 上一页 Next Page 下一页 Keras-简介 (Keras - Introduction ) Deep learning is one of the major subfield of machine learning fr...

cunzai1985的博客 4584

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python-深度学习-Keras 简介

Keras 是一个 Python 深度学习框架,可以方便地定义和训练几乎所有类型的深度学习模型。Keras 最开始是为研究人员开发的,其目的在于快速实验。本文简单介绍了 Keras 的原理和用法。

ManWZD的博客 5283

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

AI-041: Python深度学习3 - 三个Karas实例-3

实例3: 通过波士顿的房屋数据预测房价 这是一个回归问题,因为最终输出的房价是一个连续值。 加载数据: from keras.datasets import boston_housing (train_data, train_targets), (test_data, test_targets) = boston_housing.load_data() 预处理: 每个样本是32个...

拥抱AI的老粽子 1103

karas 实现lstm 文本分类

# In[4]: #网址来源 #https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py from __future__ import print_function from keras.preprocessing import sequence from keras.models import Sequential

jiasudu1234的博客 3918

Anaconda安装Karas

Anaconda安装Karas win10下 Anaconda +Keras 出现错误 import tensorflow ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath’ ImportError: numpy.core.multiarray failed to import 之前是pip install t...

Aimer_Chen的博客 1814

解决anaconda下Spyder的tensorflow不能用karas的原因,用anaconda安装最新的TensorFlow版本

python版本3.6如果用anconda直接在用conda install 安装tensorflowtensorflow的版本其实是没有更新的停留在1.2的版本当前已经更新了N个版本了,当然用不上事实上和之前的那个文章一样的原因:https://blog.youkuaiyun.com/a781751136/article/details/80255335所以解决办法:1.用管理员身份打开CMD2.输入ana...

a781751136的博客 1567

深度学习:Keras入门(一)之基础篇

1.关于Keras 1)简介 Keras是由纯python编写的基于theano/tensorflow的深度学习框架。 Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结果,如果有如下需求,可以优先选择Keras: a)简易和快速的原型设计(keras具有高...

weixin_30381317的博客 6246
上一篇: AI-039: Python深度学习3 - 三个Karas实例-1
下一篇: AI-041: Python深度学习3 - 三个Karas实例-3
铭记北宸
博客等级 码龄18年 289粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记北宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值