![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Keras深度学习笔记
轻羽羽
学编程的美食爱好者,
有问题欢迎邮件联系szysunyi@163.com
展开
-
TensorBoard--------keras版
# 使用TensorBoard回调函数来训练模型callback = [ kears.callback.TensorBoard( log_dir='TensorBoard', # 日志文件写入此文件夹 histogram_freq=1, # 每一轮后记录激活直方图 embeddings_freq=1, # 每一轮之后记录嵌入数据 )]hist...原创 2019-11-18 10:45:48 · 96 阅读 · 0 评论 -
keras Conv1D 一维卷积的输入维度
报错情况:expected conv1d_1_input to have 3 dimensions, but got array with shape (1, 56)问题原因:维数不匹配解决方法:数组的维数是(1,56),但神经网络维数与数组维数相反,应该使用(56,1)或(None,1)同时神经网络的输入数据应改成三维,即reshape为(1,56,1)...原创 2020-01-02 21:57:45 · 5045 阅读 · 4 评论 -
L1正则化、L2正则化以及dropout正则化的keras实现
# L2正则化from keras import regularizersmodel = models.Sequential()# l2(0.001)是指该层权重矩阵每个系数都会使网络总损失增加0.001*weight_coefficient_value# 由于这个惩罚项只在训练时添加,因此这个网络的训练损失会比测试损失大很多model.add(layers.Dense(16,ker...原创 2019-11-22 08:56:29 · 2958 阅读 · 0 评论 -
keras卷积神经网络举例
# 特征图深度在增加(从32到128,但尺寸在变小)from keras import layersfrom keras import model# 输入尺寸为150*150*3,展平后是7*7*128model = model.Sequential()# 二维卷积核(提取的图块大小)一般3*3=9个特征向量,或5*5# 卷积所计算的过滤器数,即第一层深度,32model.add...原创 2019-11-22 08:55:57 · 447 阅读 · 0 评论 -
绘制训练损失和训练精度曲线
from keras import modelsfrom keras import layersmodel = models.Sequential()model.add(layers.Dense(26,activation='relu',input_shape=(38,)))model.add(layers.Dense(26,activation='relu'))model.add(l...原创 2019-11-22 08:55:24 · 3358 阅读 · 2 评论 -
函数式API
model.add(layers.Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)) 32表示通道数,即特征的数量,一般是32或64(第一层32,之后64,再展平) 池化不改变特征数,改变图像的长和高# 卷积-池化,多次循环后展平mode...原创 2019-11-22 08:54:36 · 592 阅读 · 0 评论 -
保存和载入模型
keras载入与保存模型载入模型import osif(os.path.exists('my_model.h5')): network = models.load_model('my_model.h5')print('已载入网络')else: # 架构神经网络保存模型network.save('my_model.h5')...原创 2019-11-22 08:53:42 · 91 阅读 · 0 评论 -
k折
'''K折交叉验证'''k = 4num_val_samples = len(train_data) // k #整数除法all_scores = []'''当数据少的时候,可以在每次划分为K个分区前打乱数据再训练'''# 注:时间序列的顺序不能打乱,比如预测明天天气np.random.shuffle(train_data)for fold in range(k): pr...原创 2019-11-22 08:53:04 · 93 阅读 · 0 评论 -
文本处理------embedding、分词、文本截断与填充
# embedding层至少需要两个参数:标记的个数(这里是1000,即最大单词索引+1)和嵌入的维度(这里是64)# 输入是二维整数张量,(samples,sequence_length),将单词索引(表示特定单词)映射为对应的词向量# (32,10)表示32个长度为10的序列组成的批量,较长序列应被截断,较短序列以0填充# 返回三维浮点数张量(samples,sequence_le...原创 2019-11-19 15:47:10 · 937 阅读 · 0 评论 -
循环神经网络---卷积处理序列
# 对于文本分类和时间预测等简单任务,小型的一维卷积神经网络可以替代RNN,而且速度快 from keras.datasets import imdb from keras.preprocessing import sequence max_features = 10000 # number of words to consider as features m...原创 2019-11-19 15:46:33 · 311 阅读 · 0 评论 -
循环神经网络---卷积、池化、GRU
卷积-池化-卷积-GRUfrom keras.models import Sequentialfrom keras import layersfrom keras.optimizers import RMSpropmodel = Sequential()model.add(layers.Conv1D(32,5,activation='relu',input_shape=(None,...原创 2019-11-19 15:45:31 · 1035 阅读 · 0 评论 -
keras循环神经网络举例---LSTM
from keras.layers import LSTMmodel = Sequential()model.add(Embedding(max_features, 32))model.add(LSTM(32))model.add(Dense(1, activation='sigmoid'))model.compile(optimizer='rmsprop', ...原创 2019-11-19 15:44:02 · 693 阅读 · 0 评论 -
例子---电影评论多分类
# 与二分类的不同## 1、对于标签的处理(标签有多类)### one-hot处理from keras.utils.np_utils import to_categoricalone_hot_train_labels = to_categorical(train_labels)# 2、构建网络(最后一层softmax)from keras import modelsfrom ...原创 2019-11-19 15:43:00 · 288 阅读 · 0 评论 -
例子---电影评论二分类
# 加载IMDB数据集from keras.datasets import imdbimport numpy as np'''预处理'''# num_words表示仅保留训练数据中前5个最常见的单词# train_data是评论组成的列表,train_data[0]=[1,2,3],train_labels[0]=1(train_data,train_labels),(test_d...原创 2019-11-19 15:42:26 · 326 阅读 · 0 评论 -
例子---房价预测(连续值预测、回归)
from keras.datasets import boston_housing(train_data, train_targets), (test_data, test_targets) = boston_housing.load_data()# train_data.shape ##404个数据,13个特征'''数据标准化'''mean = train_data.mean(ax...原创 2019-11-19 15:41:36 · 1039 阅读 · 0 评论 -
例子---mnist
# -*- coding:utf-8 -*-'''mnist手写体识别采用卷积-池化-卷积-池化-全连接-dropout-全连接优化器:用rmsprop优化器进行梯度下降误差:交叉熵'''import numpy as npfrom keras.datasets import mnist# to_categorical将类别向量转换为二进制(只有0和1)的矩阵类型from...原创 2019-11-19 15:40:24 · 107 阅读 · 0 评论