keras基于多层感知器的softmax多分类 – kerl


keras基于多层感知器的softmax多分类

# 基于多层感知器的softmax多分类:
```
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.optimizers import SGD
import numpy as np

x_train = np.random.random((1000, 20))
y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)
x_test = np.random.random((100, 20))
y_test = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)

model = Sequential()

model.add(Dense(64, activation=\'relu\',input_dim=20)
model.add(Dropout(0.5))
model.add(Dense(64, activation=\'relu\'))
model.add(Dropout(0.5))
model.add(Dense(10, activation=\'softmax\'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss=\'categorical_crossentropy\',optimizer=sgd,
metrics=[\'accuracy\'])

model.fit(x_train, y_train,epochs=20,batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
```

# MLP的二分类:
```
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Dropout

x_train = np.random.random((1000, 20))
y_train = np.random.randint(2, size=(1000, 1))
x_test = np.random.random((100, 20))
y_test = np.random.randint(2, size=(100, 1))

model = Sequential()
model.add(Dense(64, input_dim=20, activation=\'relu\'))
model.add(Dropout(0.5))
model.add(Dense(64, activation=\'relu\'))
model.add(Dropout(0.5))
model.add(Dense(1, activation=\'sigmoid\'))

model.compile(loss=\'binary_crossentropy\',
optimizer=\'rmsprop\',
metrics=[\'accuracy\'])
model.fit(x_train, y_train,
epochs=20,
batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
```
# 类似VGG的卷积神经网络:
```
import numpy as np
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.optimizers import SGD

x_train = np.random.random((100, 100, 100, 3))
y_train = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)
x_test = np.random.random((20, 100, 100, 3))
y_test = keras.utils.to_categorical(np.random.randint(10, size=(20, 1)), num_classes=10)

model = Sequential()

model.add(Conv2D(32, (3, 3), activation=\'relu\', input_shape=(100, 100, 3)))
model.add(Conv2D(32, (3, 3), activation=\'relu\'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Conv2D(64, (3, 3), activation=\'relu\'))
model.add(Conv2D(64, (3, 3), activation=\'relu\'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dense(256, activation=\'relu\'))
model.add(Dropout(0.5))
model.add(Dense(10, activation=\'softmax\'))

sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss=\'categorical_crossentropy\', optimizer=sgd)

model.fit(x_train, y_train, batch_size=32, epochs=10)
score = model.evaluate(x_test, y_test, batch_size=32)
```
# 使用LSTM的序列分类
```
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.layers import Embedding
from keras.layers import LSTM

model = Sequential()
model.add(Embedding(max_features, output_dim=256))
model.add(LSTM(128))
model.add(Dropout(0.5))
model.add(Dense(1, activation=\'sigmoid\'))

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

model.fit(x_train, y_train, batch_size=16, epochs=10)
score = model.evaluate(x_test, y_test, batch_size=16)
```

# 使用1D卷积的序列分类
```
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.layers import Embedding
from keras.layers import Conv1D, GlobalAveragePooling1D, MaxPooling1D

model = Sequential()
model.add(Conv1D(64, 3, activation=\'relu\', input_shape=(seq_length, 100)))
model.add(Conv1D(64, 3, activation=\'relu\'))
model.add(MaxPooling1D(3))
model.add(Conv1D(128, 3, activation=\'relu\'))
model.add(Conv1D(128, 3, activation=\'relu\'))
model.add(GlobalAveragePooling1D())
model.add(Dropout(0.5))
model.add(Dense(1, activation=\'sigmoid\'))

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

model.fit(x_train, y_train, batch_size=16, epochs=10)
score = model.evaluate(x_test, y_test, batch_size=16)
```

发表于
2020-06-02 10:48 
kerl 
阅读(618
评论(0
编辑 
收藏 
举报
 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:keras基于多层感知器的softmax多分类 – kerl - Python技术站

(0)
上一篇 2023年4月8日 上午9:48
下一篇 2023年4月8日

相关文章

  • 【目标检测】关于如何在 PyTorch1.x + Cuda10 + Ubuntu18.0 运行 CenterNet 源码

    这几天一直在尝试运行CenterNet的源码,但是出现各种问题,本已经打算放弃,中午吃完饭又不甘心,打算重新安装环境再来一遍,没想到竟然成功了。所以,坚持下去,黑夜过后便是黎明。 注意:gcc/g++ 版本尽量为 5.x CornerNet 源码仓库:CenterNet CornerNet 安装: 1. 创建 Anaconda 环境,并激活环境 conda …

    2023年4月6日
    00
  • Opencv实现眼睛控制鼠标的实践

    以下是关于“Opencv 实现眼睛控制鼠标的实践”的完整攻略,其中包含两个示例说明。 示例1:使用 Opencv 实现眼睛检测 步骤1:导入必要库 在使用 Opencv 实现眼睛控制鼠标之前,我们需要导入一些必要的库,包括cv2和numpy。 import cv2 import numpy as np 步骤2:加载分类器 加载眼睛分类器。 eye_casca…

    Keras 2023年5月16日
    00
  • keras中无法下载 https://s3.amazonaws.com/img-datasets/mnist.npz 解决方法

    网址:https://s3.amazonaws.com/img-datasets/mnist.npz,由于显而易见的原因,无法访问。npz实际上是numpy提供的数组存储方式,简单的可看做是一系列npy数据的组合,利用np.load函数读取后得到一个类似字典的对象,可以通过关键字进行值查询,关键字对应的值其实就是一个npy数据。如果用keras自带的exam…

    Keras 2023年4月8日
    00
  • 【tensorflow】重置/清除计算图

    调用tf.reset_default_graph()重置计算图 当在搭建网络查看计算图时,如果重复运行程序会导致重定义报错。为了可以在同一个线程或者交互式环境中(ipython/jupyter)重复调试计算图,就需要使用这个函数来重置计算图,随后修改计算图再次运行。 #重置计算图,清理当前定义节点 import tensorflow as tf tf.res…

    2023年4月6日
    00
  • Keras-多输入多输出实例(多任务)

    下面是关于“Keras-多输入多输出实例(多任务)”的完整攻略。 多输入多输出实例(多任务) 在Keras中,我们可以使用多输入多输出模型来处理多个任务。这种模型通常用于处理多个相关的任务,例如图像分类和图像分割。在这个模型中,我们可以定义多个输入和多个输出。每个输入和输出都可以有自己的网络结构。下面是一个示例: 示例1:多输入多输出模型 from kera…

    Keras 2023年5月15日
    00
  • No module named ‘tensorflow.contrib’

    控制台:pip install tensorflow 发现自己安装过,且版本2.4.1 搜索发现自己的python3.8版本无对应 tensorflow,故删除3.8版本,下载3.7版本【百度有教程】。 对应python3.7版本的tensorflow我下载的是1.14.0。其他应该也可,官网有对应表。 但是速度慢,毕竟使用pip下载。故换镜像下载: 修改为…

    tensorflow 2023年4月6日
    00
  • 偶数卷积模板

    常用的是:奇数×奇数。 奇数锚点刚好在中间。奇数核拥有天然的绝对中心点,能更好地获取中心信息。 奇数卷积模板保护位置信息:锚点刚好在中间,方便以模块中心为标准进行滑动卷积,避免了位置信息发生偏移。     在像素领域,偶数卷积模板没有一个“绝对的物理中心”。   边缘提取,Roberts算子是偶数的卷积模板。Roberts交叉梯度算子。 对于一图像矩阵: R…

    2023年4月6日
    00
  • Google机器学习教程心得(一)

    Google Machine Learning Recipes 1官方中文博客 http://chinagdg.org/2016/03/machine-learning-recipes-for-new-developers/视频地址 http://v.youku.com/v_show/id_XMTUxODA1NTY3Mg==.htmlGithub工程地址 h…

    机器学习 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部