前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >keras和sklearn深度学习框架

keras和sklearn深度学习框架

作者头像
sofu456
发布2022-05-06 15:21:00
5400
发布2022-05-06 15:21:00
举报
文章被收录于专栏:sofu456

keras

框架核心

所有model都是可调用的(All models are callable, just like layers)

可以在之前的模型基础上修改,类似迁移学习

input

keras.input 输入变量(pytorch–>variable,tensorflow–>placeHolder)

model
  • Sequece单一输入输出模型 , 通过model.add添加层(类似pytorch)
代码语言:javascript
复制
model = Sequential()
model.add(Conv2D(32, (5,5), activation='relu', input_shape=[28, 28, 1]))
model.add(Conv2D(64, (5,5), activation='relu'))
model.add(MaxPool2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dropout(0.5))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
  • 函数式模型,Model构造,模型中不包含样本维度,输入fit数据包含
代码语言:javascript
复制
tf.keras.model(input,output)

y=f(x)单调函数模型,DNN可拟合任意函数(不包含分段函数和非单调函数f(x,y)=0) 残差网络:f(x)+x输入

model.compile设置训练参数,单独赋值sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)或 model.optimizer.lr.assign 默认学习率0.01 设置准确率metrics=[‘accuracy’]

model.fit训练 loss,accuracy = model.evaluate模型评估计算准确率 model.predict预测

model.summary 打印模型结构 model.get_config

layer

layer.dense 线性变换+激活(全连接层),默认relu layer.concatenate合并两输入个张量 layer.lambda添加表达式层 lambda x:x**2

处理梯度消失(loss保持不变,输出全是0)和爆炸(loss出现nan):

梯度爆炸,BN、L1、L2正则化,减小整体数值 https://blog.csdn.net/qq_32002253/article/details/89109214 https://blog.csdn.net/qq_29462849/article/details/83068421

sklearn

cluster 聚类分析

kmeans 分类

  • 随机选取k个样本点
  • 计算所有点到k个样本点的距离,选取最近的点分类
  • 计算分类的重心点,重覆2、3步骤,直到样本点稳定

means-shift 目标跟踪

  • 随机选取样本点
  • 选取样本点到半径R范围内的点为向量(半径内所有点分类+1),所有向量相加移动样本点,如果两个样本点相遇则合并
  • 重复步骤2直到样本呢点稳定
svm线性可分类
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • keras
  • sklearn
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档