分类标签归档:keras

CNN应用于手写数字识别

import numpy as np
from keras.datasets import mnist
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense,Dropout,Convolution2D,MaxPooling2D,Flatten  # Flatten扁平化
from keras.optimizers import Adam
# 载入数据
(x_train,y_train),(x_test,y_test) = mnist.load_dat

阅读全文 →

图像数据增强

我们有时候训练集的数据不够时,可以尝试把一张图片做做变换,生成多张图片。

from keras.preprocessing.image import ImageDataGenerator, array_to_img ,img_to_array, load_img
import numpy as np
  • rotation_range是一个0~180的度数,用来指定随机选择图片的角度。
  • width_shift和height_shift用来指定水平和竖直方向随机移动的程度,这是两个0~1之间的比
  • rescale值将在执行其他处理前乘到整个图像上,我们的图像在RGB通道都是0~255的整数,这

阅读全文 →

vgg16实现是否戴口罩分类

from keras.applications.vgg16 import VGG16
from keras.models import Sequential
from keras.layers import Conv2D,MaxPool2D,Activation,Dropout,Flatten,Dense
from keras.optimizers import SGD
from keras.preprocessing.image import ImageDataGenerator,img_to_array,load_img
import numpy as np
#VGG16是用image

阅读全文 →

简单cnn实现戴口罩识别

import keras
from keras.models import Sequential
from keras.layers import Conv2D,MaxPool2D,Dense,Dropout,Flatten
from keras.optimizers import Adam
from keras.preprocessing.image import load_img,ImageDataGenerator,img_to_array
# 定义模型

model = Sequential()

model.add(Conv2D(input_shape=(150,150,3),f

阅读全文 →

生成式对抗网络GAN

import numpy as np
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Activation, Flatten, Reshape
from keras.layers import Conv2D, Conv2DTranspose, UpSampling2D
from keras.layers import LeakyReLU, Dropout
from keras.layers import BatchNormalization

阅读全文 →

图像风格转移

效果图

from keras.preprocessing.image import load_img, img_to_array
#from scipy.misc import imsave    # 最新版本的imsvae方法被弃用了
# from imageio import imwrite,imread
from imageio import imwrite as imsave
import numpy as np
from scipy.optimize import fmin_l_bfgs_b
import time
import matplotlib.pyplot as plt

阅读全文 →

keras-线性非线性

线性

import keras
import numpy as np
import matplotlib.pyplot as plt

from keras.models import Sequential
from keras.layers import Dense
#  生成随机点
x_data = np.random.rand(100)
noise = np.random.normal(0,0.01,x_data.shape)
y_data = x_data*0.1+0.5+noise

# 显示
plt.scatter(x_data,y_data)
plt.show()
# 构建序

阅读全文 →

keras和tensorflow简单对比

线性模型

tensorflow

构建模型

# 构建一个线性模型
d = tf.Variable(np.random.rand(1))  # 截距
k = tf.Variable(np.random.rand(1))  #斜率
y = k*x_data + d  # 映射函数

网络设置

# 二次代价函数
loss = tf.losses.mean_squared_error(y_data, y)
# 定义一个梯度下降法优化器
optimizer = tf.train.GradientDescentOptimizer(0.4)  # 经测试0.3~0.7之间较合适
# 最小化代价函数
train

阅读全文 →