文章目录

  • 声明
  • 前言
  • 一、卷积神经网络
    • 1.1、导入库
    • 1.2、边界填充
    • 1.3、单步卷积
    • 1.4、卷积层前向传播
    • 1.5、池化层前向传播
    • 1.6、卷积层的反向传播
      • 1.6.1、计算dA
      • 1.6.2、计算dW
      • 1.6.2、计算db
    • 1.7、池化层的反向传播
      • 1.7.1、最大值池化层的反向传播
      • 1.7.2、均值池化层的反向传播
      • 1.7.3、池化层反向传播
  • 二、基于tensorflow的卷积神经网络
    • 2.0、导入库
    • 2.1、创建placeholders
    • 2.2、初始化参数
    • 2.3、前向传播
    • 2.4、计算成本
    • 2.5、构建模型

声明

本文参考何宽

前言

本文的结构:
首先从底层搭建一个完整的卷积神经网络的模块,之后再用tensorflow来实现。

模型结构如下:
在这里插入图片描述
要实现的模块的函数功能:

  • 卷积模块,包含以下函数:
    • 使用0扩充边界
    • 卷积窗口
    • 前向卷积
    • 反向卷积
  • 池化模块,包含以下函数:
    • 前向池化
    • 创建掩码
    • 值分配
    • 反向池化

一、卷积神经网络

1.1、导入库

import numpy as np
import h5py
import matplotlib.pyplot as pltplt.rcParams['figure.figsize'] = (5.0,4.0)
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'np.random.seed(1)

1.2、边界填充

用np.pad进行边界填充。

def zero_pad(X,pad):"""把数据集x的图像边界全部使用0来扩充pad个宽度和高度。参数:X - 图像数据集,维度为(样本数,图像高度,图像宽度,图像通道数)pad - 整数,每个图像在垂直和水平维度上的填充量返回:X_paded - 扩充后的图像数据集,维度为(样本数,图像高度 + 2*pad,图像宽度 + 2*pad,图像通道数)"""X_paded = np.pad(X,((0,0),(pad,pad),(pad,pad),(0,0)),'constant')return X_paded

测试:

np.random.seed(1)
x = np.random.randn(4,3,3,2)
x_paded = zero_pad(x,2)print(x.shape,x_paded.shape,x[1,1],x_paded[1,1])fig,axarr = plt.subplots(1,2)
axarr[0].set_title('x')
axarr[0].imshow(x[0,:,:,0])
axarr[1].set_title('x_paded')
axarr[1].imshow(x_paded[0,:,:,0])

结果:

(4, 3, 3, 2) (4, 7, 7, 2) [[ 0.90085595 -0.68372786][-0.12289023 -0.93576943][-0.26788808  0.53035547]] [[0. 0.][0. 0.][0. 0.][0. 0.][0. 0.][0. 0.][0. 0.]]

在这里插入图片描述

1.3、单步卷积

过滤器大小f=3,步伐s=1,填充pad=2。

def conv_single_step(a_slice_prev,W,b):"""在前一层的激活输出的一个片段上应用一个由参数W定义的过滤器。这里切片大小和过滤器大小相同。参数:a_slice_prev - 输入数据的一个片段,维度为(过滤器大小,过滤器大小,上一通道数)W - 权重参数,包含在了一个矩阵中,维度为(过滤器大小,过滤器大小,上一通道数)b - 偏置参数,包含在了一个矩阵中,维度为(1,1,1)返回:Z - 在输入数据的片x上卷积滑动窗口(W,b)的结果。"""s = a_slice_prev*W+bZ = np.sum(s)return Z

测试:

np.random.seed(1)
a_slice_prev = np.random.randn(4,4,3)
W = np.random.randn(4,4,3)
b = np.random.randn(1,1,1)Z = conv_single_step(a_slice_prev,W,b)
print(Z)

结果:

-23.16021220252078

1.4、卷积层前向传播

def conv_forward(A_prev,W,b,hparameters):"""实现卷积函数的前向传播参数:A_prev - 上一层的激活输出矩阵,维度为(m,n_H_prev,n_C_prev),(样本数量,上一层图像的高度,上一层图像的宽度,上一层过滤器数量)W - 权重矩阵,维度为(f,f,n_C_prev,n_c),(过滤器大小,过滤器大小,上一层的过滤器数量,这一层的过滤器数量)b - 偏置矩阵,维度为(1,1,1,n_C),(1,1,1,这一层的过滤器数量)hparameters - 包含了“stride”与“pad”的超参数字典。返回:Z - 卷积输出,维度为(m,n_H,n_W,n_C),(样本数,图像的高度,图像的宽带,过滤器数量)cache - 缓存了一些反向传播函数conv_backward()需要的一些数据"""(m,n_H_prev,n_W_rev,n_C_prev) = A_prev.shape(f,f,n_C_prev,n_C) = W.shapestride = hparameters['stride']pad = hparameters['pad']n_H = int((n_H_prev+2*pad-f)/stride)+1n_W = int((n_W_rev+2*pad-f)/stride)+1Z = np.zeros((m,n_H,n_W,n_C))A_prev_pad = zero_pad(A_prev,pad)for i in range(m):a_prev_pad = A_prev_pad[i]for h in range(n_H):for w in range(n_W):for c in range(n_C):vert_start = h*stridevert_end = vert_start+fhoriz_start = w*stridehoriz_end = horiz_start+fa_slip_prev = a_prev_pad[vert_start:vert_end,horiz_start:horiz_end,:]Z[i,h,w,c] = conv_single_step(a_slip_prev,W[:,:,:,c],b[0,0,0,c])cache = (A_prev,W,b,hparameters)return (Z,cache)

测试:

np.random.seed(1)A_prev = np.random.randn(10,4,4,3)
W = np.random.randn(2,2,3,8)
b = np.random.randn(1,1,1,8)hparameters = {'pad':2,'stride':1}Z,cache_conv = conv_forward(A_prev,W,b,hparameters)print(np.mean(Z))
print(cache_conv[0][1][2][3])

结果:

0.15585932488906465
[-0.20075807  0.18656139  0.41005165]

1.5、池化层前向传播

def pool_forward(A_prev,hparameters,mode='max'):"""实现池化层的前向传播参数:A_prev - 输入数据,维度为(m,n_H_prev,n_W_prev,n_C_prev)hparameters - 包含了‘f'和’stride‘的超参数字典mode - 模式选择【’max‘|‘average’】返回:A - 池化层的输出,维度为(m,n_H,n_W,n_C)cache - 存储了一些反向传播需要用到的值,包含了输入和超参数的字典。"""(m,n_H_prev,n_W_prev,n_C_prev)=A_prev.shapef = hparameters['f']stride = hparameters['stride']n_H = int((n_H_prev-f)/stride)+1n_W = int((n_W_prev-f)/stride)+1n_C = n_C_prevA = np.zeros((m,n_H,n_W,n_C))for i in range(m):a_prev = A_prev[i]for h in range(n_H):for w in range(n_W):for c in range(n_C):vert_start = h*stridevert_end = vert_start+fhoriz_start = w*stridehoriz_end = horiz_start+fa_slice_prev = a_prev[vert_start:vert_end,horiz_start:horiz_end,c]if mode=='max':A[i,h,w,c] = np.max(a_slice_prev)elif mode=='average':A[i,h,w,c] = np.mean(a_slice_prev)cache = (A_prev,hparameters)return A,cache

测试:

np.random.seed(1)A_prev = np.random.randn(2,4,4,3)hparameters = {'f':4,'stride':1}A,cache = pool_forward(A_prev,hparameters,mode='max')
print(A)
A,cache = pool_forward(A_prev,hparameters,mode='average')
print(A)

结果:

[[[[1.74481176 1.6924546  2.10025514]]][[[1.19891788 1.51981682 2.18557541]]]]
[[[[-0.09498456  0.11180064 -0.14263511]]][[[-0.09525108  0.28325018  0.33035185]]]]

1.6、卷积层的反向传播

1.6.1、计算dA

dA+=h=0nHw=0nWWC×dZhwdA+=\sum_{h=0}^{n_H} \sum_{w=0}^{n_W} W_C \times dZ_{hw}
其中,WcW_c是过滤器,ZhwZ_hw是一个标量,ZhwZ_hw是卷积层第h行第w列的使用点乘计算后的输出Z的梯度。需要注意的是在每次更新dA的时候,都会用相同的过滤器WcW_c乘以不同的dZ,因为在前向传播的时候,每个过滤器都与a_slice进行了点乘相加,所以在计算dA的时候,需要把a_slice的梯度也加进来,可以在循环中加一句代码:

da_perv_pad[vert_start:vert_end,horiz_start:horiz_end,:] += W[:,:,:,c] * dZ[i,h,w,c]

1.6.2、计算dW

dWc+=h=0nHw=0nWaslice×dZhwdW_c+=\sum_{h=0}^{n_H} \sum_{w=0}^{n_W} a_{slice} \times dZ_{hw}
其中,aslicea_{slice}对应着ZijZ_{ij}的激活值,由此,可以推导W的梯度,因为使用了过滤器来对数据进行窗口滑动,在这里实际上是切出了和过滤器一样大小的切片,切了多少次就产生了多少个梯度,所以需要把它们加起来得到这个数据集的整体dW。

dW[:,:,:, c] += a_slice * dZ[i , h , w , c]

1.6.2、计算db

db+=h=0nHw=0nWdZhwdb+=\sum_{h=0}^{n_H} \sum_{w=0}^{n_W} dZ_{hw}

db[:,:,:,c] += dZ[ i, h, w, c]
def conv_backward(dZ,cache):"""实现卷积层的反向传播参数:dZ - 卷积层的输出z的梯度,维度为(m,n_H,n_W,n_C)cache - 反向传播所需要的参数,conv_forward()的输出之一返回:dA_prev - 卷积层的输入(A_prev)的梯度值,维度为(m,n_H_prev,n_W_prev,n_C_prev)dW - 卷积层的权值的梯度,维度为(f,f,n_C_prev,n_C)db - 卷积层的偏置的梯度,维度为(1,1,1,n_C)"""(A_prev,W,b,hparameters) = cache(m,n_H_prev,n_W_prev,n_C_prev) = A_prev.shape(m,n_H,n_W,n_C) = dZ.shape(f,f,n_C_prev,n_C) = W.shapepad = hparameters['pad']stride = hparameters['stride']dA_prev = np.zeros((m,n_H_prev,n_W_prev,n_C_prev))dW = np.zeros((f,f,n_C_prev,n_C))db = np.zeros((1,1,1,n_C))A_prev_pad = zero_pad(A_prev,pad)dA_prev_pad = zero_pad(dA_prev,pad)for i in range(m):a_prev_pad = A_prev_pad[i]da_prev_pad = dA_prev_pad[i]for h in range(n_H):for w in range(n_W):for c in range(n_C):vert_start = hvert_end = vert_start+fhoriz_start = whoriz_end = horiz_start+fa_slice = a_prev_pad[vert_start:vert_end,horiz_start:horiz_end,:]da_prev_pad[vert_start:vert_end,horiz_start:horiz_end,:]+=W[:,:,:,c]*dZ[i,h,w,c]dW[:,:,:,c] += a_slice*dZ[i,h,w,c]db[:,:,:,c] += dZ[i,h,w,c]dA_prev[i,:,:,:] = da_prev_pad[pad:-pad,pad:-pad,:]assert(dA_prev.shape==(m,n_H_prev,n_W_prev,n_C_prev))return dA_prev,dW,db

测试:

np.random.seed(1)A_prev = np.random.randn(10,4,4,3)
W = np.random.randn(2,2,3,8)
b = np.random.randn(1,1,1,8)
hparameters = {'pad':2,'stride':1}Z,cache_conv = conv_forward(A_prev,W,b,hparameters)
dA_prev,dW,db = conv_backward(Z,cache_conv)print(np.mean(dA_prev),np.mean(dW),np.mean(db))

结果:

9.608990675868995 10.581741275547566 76.37106919563735

1.7、池化层的反向传播

1.7.1、最大值池化层的反向传播

首先,我们需要创建一个create_mask_from_window()的函数,这个函数创建一个掩码矩阵,以保存最大值的位置,当为1的时候表示最大值的位置,其他的为0,这个是最大值池化层。
为什么要创建这个掩码矩阵呢?因为我们需要记录最大值的位置,这样才能反向传播到卷积层。
在这里插入图片描述

def create_mask_from_window(x):"""从输入矩阵中创建掩码,以保存最大值的矩阵的位置。参数:x - 一个维度为(f,f)的矩阵返回:mask - 包含x的最大值的位置的矩阵"""mask = x == np.max(x)return mask

测试:

np.random.seed(1)x = np.random.randn(2,3)
mask = create_mask_from_window(x)
print(x,mask)

结果:

[[ 1.62434536 -0.61175641 -0.52817175][-1.07296862  0.86540763 -2.3015387 ]] [[ True False False][False False False]]

1.7.2、均值池化层的反向传播

和最大值池化层不同,均值池化层取过滤器的均值。

def distribute_value(dz,shape):"""给定一个值,为按矩阵大小平均分配到每一个矩阵位置中。参数:dz - 输入的实数shape - 元组,两个值,分别为n_H,n_W返回:a - 已经分配好了值的矩阵,里面的值全部一样。"""(n_H,n_W) = shapeaverage = dz/(n_H*n_W)a = np.ones(shape)*averagereturn a

测试:

dz = 2
shape = (2,2)a = distribute_value(dz,shape)
print(a)

结果:

[[0.5 0.5][0.5 0.5]]

1.7.3、池化层反向传播

def pool_backward(dA,cache,mode="max"):"""实现池化层的反向传播参数:dA - 池化层的输出的梯度,和池化层的输出的维度一样cache - 池化层前向传播时所存储的参数mode - 模式选择,【‘max’|‘average’】返回:dA_prev - 池化层的输入的梯度,和A_prev的维度相同"""(A_prev,hparameters) = cachef = hparameters['f']stride = hparameters['stride'](m,n_H_prev,n_W_prev,n_C_prev) = A_prev.shape(m,n_H,n_W,n_C) = dA.shapedA_prev = np.zeros_like(A_prev)for i in range(m):a_prev = A_prev[i]for h in range(n_H):for w in range(n_W):for c in range(n_C):vert_start = hvert_end = vert_start + fhoriz_start = whoriz_end = horiz_start + fif mode == 'max':a_prev_slice = a_prev[vert_start:vert_end,horiz_start:horiz_end,c]mask = create_mask_from_window(a_prev_slice)dA_prev[i,vert_start:vert_end,horiz_start:horiz_end,c]+=np.multiply(mask,dA[i,h,w,c])elif mode == 'average':da = dA[i,h,w,c]shape = (f,f)dA_prev[i,vert_start:vert_end,horiz_start:horiz_end,c]+=distribute_value(da,shape)assert(dA_prev.shape == A_prev.shape)return dA_prev

测试:

np.random.seed(1)A_prev = np.random.randn(5,5,3,2)
W = np.random.randn(2,2,3,8)
b = np.random.randn(1,1,1,8)
hparameters = {'f':2,'stride':1}
A,cache = pool_forward(A_prev,hparameters)
dA = np.random.randn(5,4,2,2)dA_prev = pool_backward(dA,cache,mode='max')
print(np.mean(dA),dA_prev[1,1])dA_prev = pool_backward(dA,cache,mode='average')
print(np.mean(dA),dA_prev[1,1])

结果:

0.14026942447888846 [[ 0.          0.        ][-0.72334716  2.42826793][ 0.          0.        ]]
0.14026942447888846 [[-0.0103192   0.16889297][-0.18083679  0.69818344][-0.17051759  0.52929047]]

二、基于tensorflow的卷积神经网络

situation:使用tensorflow来实现卷积神经网络,然后应用到手势识别中。

2.0、导入库

import math
import numpy as np
import h5py
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import tensorflow as tf
from tensorflow.python.framework import opsimport cnn_utils
import tf_utilsnp.random.seed(1)

在这里插入图片描述
看里面的内容:

X_train_orig , Y_train_orig , X_test_orig , Y_test_orig , classes = tf_utils.load_dataset()
index = 6
plt.imshow(X_train_orig[index])
print(str(np.squeeze(Y_train_orig[:,index])))

结果:

2

在这里插入图片描述
调整数据,看数据的维度:

X_train = X_train_orig/255
X_test = X_test_orig/255
Y_train = cnn_utils.convert_to_one_hot(Y_train_orig,6).T
Y_test = cnn_utils.convert_to_one_hot(Y_test_orig,6).Tprint(X_train.shape[0],X_test.shape[0],X_train.shape,Y_train.shape,X_test.shape,Y_test.shape)

结果:

1080 120 (1080, 64, 64, 3) (1080, 6) (120, 64, 64, 3) (120, 6)

2.1、创建placeholders

tensorflow要求为会话时将输入到模型中的输入数据创建占位符。因为我们使用的是小批量数据块,输入的样本数量可能不固定,所以在数量那里我们要使用None作为可变数量,输入X的维度为[None,n_H0,n_W0,n_c0],对应的Y是[None,n_y]。

def create_placeholders(n_H0,n_W0,n_C0,n_y):"""为session创建占位符参数:n_H0 - 实数,输入图像的高度n_W0 - 实数,输入图像的宽度n_C0 - 实数,输入的通道数n_y - 实数,分类数返回:X - 输入数据的占位符,维度为[None,n_H0,n_W0,n_C0],类型为‘float’Y - 输入数据的标签的占位符,维度为[None,n_y],类型为‘float’"""X = tf.placeholder(tf.float32,[None,n_H0,n_W0,n_C0])Y = tf.placeholder(tf.float32,[None,n_y])return X,Y

测试:

X,Y = create_placeholders(64,64,3,6)
print(X,Y)

结果:

Tensor("Placeholder:0", shape=(?, 64, 64, 3), dtype=float32) Tensor("Placeholder_1:0", shape=(?, 6), dtype=float32)

2.2、初始化参数

def initialize_parameters():"""初始化权值矩阵,这里我们把权值矩阵硬编码W1:[4,4,3,8]W2:[2,2,8,16]返回:包含了tensor类型的W1、W2的字典"""tf.set_random_seed(1)W1 = tf.get_variable('W1',[4,4,3,8],initializer=tf.contrib.layers.xavier_initializer(seed=0))W2 = tf.get_variable('W2',[2,2,8,16],initializer=tf.contrib.layers.xavier_initializer(seed=0))parameters = {'W1':W1,'W2':W2}return parameters

测试:

tf.reset_default_graph()
with tf.Session() as sess_test:parameters = initialize_parameters()init = tf.global_variables_initializer()sess_test.run(init)print(parameters['W1'].eval()[1,1,1])print(parameters['W2'].eval()[1,1,1])sess_test.close()

结果:

[ 0.00131723  0.1417614  -0.04434952  0.09197326  0.14984085 -0.03514394-0.06847463  0.05245192]
[-0.08566415  0.17750949  0.11974221  0.16773748 -0.0830943  -0.08058-0.00577033 -0.14643836  0.24162132 -0.05857408 -0.19055021  0.1345228-0.22779644 -0.1601823  -0.16117483 -0.10286498]

2.3、前向传播

模型的结构:
conv2d->relu->maxpool->conv2d->relu->maxpool->fullconnected
步骤和参数:

  • Conv2d:步伐:1,填充方式:‘SAME’
  • Relu
  • Max pool:过滤器大小:8x8,步伐:8x8,填充方式:‘SAME’
  • Conv2d:步伐:1,填充方式:‘SAME’
  • Relu
  • Max pool:过滤器大小:4x4,步伐:4x4,填充方式:‘SAME’
  • 一维化上一层的输出
  • 全连接层(FC):使用没有非线性激活函数的全连接层。这里不用调用SoftMax,这将导致输出层中有6个神经元,然后再传递到softmax。
def forward_propagation(X,parameters):"""实现前向传播:conv2d->relu->maxpool->conv2d->relu->maxpool->flatten->fullyconnected参数:X - 输入数据的placeholder,维度为(输入节点数量,样本数量)parameters - 包含了’W1‘和’W2‘的python字典返回:Z3 - 最后一个linear节点的输出"""W1 = parameters['W1']W2 = parameters['W2']# Conv2d:步伐:1,填充方式:’SAME'Z1 = tf.nn.conv2d(X,W1,strides=[1,1,1,1],padding='SAME')# ReluA1 = tf.nn.relu(Z1)# Max pool:窗口大小:8x8,步伐:8X8,填充方式:’SAME'P1 = tf.nn.max_pool(A1,ksize=[1,8,8,1],strides=[1,8,8,1],padding='SAME')# Conv2d:步伐:1,填充方式:’SAME'Z2 = tf.nn.conv2d(P1,W2,strides=[1,1,1,1],padding='SAME')# ReluA2 = tf.nn.relu(Z2)# Max pool:窗口大小:4x4,步伐:4X4,填充方式:’SAME'P2 = tf.nn.max_pool(A2,ksize=[1,4,4,1],strides=[1,4,4,1],padding='SAME')# 一维化上一层的输出P = tf.contrib.layers.flatten(P2)# 全连接层(FC):使用没有非线性激活函数的全连接层Z3 = tf.contrib.layers.fully_connected(P,6,activation_fn = None)return Z3

测试:

tf.reset_default_graph()
np.random.seed(1)with tf.Session() as sess_test:X,Y = create_placeholders(64,64,3,6)parameters = initialize_parameters()Z3 = forward_propagation(X,parameters)init = tf.global_variables_initializer()sess_test.run(init)a = sess_test.run(Z3,{X:np.random.randn(2,64,64,3),Y:np.random.randn(2,6)})print(a)sess_test.close()

结果:

[[-0.44670227 -1.5720876  -1.5304923  -2.3101304  -1.2910438   0.46852064][-0.17601591 -1.5797201  -1.4737016  -2.616721   -1.0081065   0.5747785 ]]

2.4、计算成本

def compute_cost(Z3,Y):"""计算成本参数:Z3 - 正向传播最后一个linear节点的输出,维度为(6,样本数)Y - 标签向量的placeholder,和Z3的维度相同返回:cost - 计算后的成本"""cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=Z3,labels=Y))return cost

测试:

tf.reset_default_graph()
with tf.Session() as sess_test:np.random.seed(1)X,Y = create_placeholders(64,64,3,6)parameters = initialize_parameters()Z3 = forward_propagation(X,parameters)cost = compute_cost(Z3,Y)init = tf.global_variables_initializer()sess_test.run(init)a = sess_test.run(cost,{X:np.random.randn(4,64,64,3),Y:np.random.randn(4,6)})print(a)sess_test.close()

结果:

2.9103398

2.5、构建模型

步骤:

  • 创建占位符
  • 初始化参数
  • 前向传播
  • 计算成本
  • 反向传播
  • 创建优化器
    最后将创建一个session来运行模型。
def model(X_train,Y_train,X_test,Y_test,learning_rate=0.009,num_epochs=100,minibatch_size=64,print_cost=True,isPlot=True):"""使用tensorflow实现三层的卷积神经网络conv2d->relu->maxpool->conv2d->relu->maxpool->flatten->fullyconnected参数:X_train - 训练数据,维度为(None, 64, 64, 3)Y_train - 训练数据对应的标签,维度为(None, n_y = 6)X_test - 测试数据,维度为(None, 64, 64, 3)Y_test - 训练数据对应的标签,维度为(None, n_y = 6)learning_rate - 学习率num_epochs - 遍历整个数据集的次数minibatch_size - 每个小批量数据块的大小print_cost - 是否打印成本值,每遍历100次整个数据集打印一次isPlot - 是否绘制图谱返回:train_accuracy - 实数,训练集的准确度test_accuracy - 实数,测试集的准确度parameters - 学习后的参数"""ops.reset_default_graph()tf.set_random_seed(1)seed = 3(m,n_H0,n_W0,n_C0) = X_train.shapen_y = Y_train.shape[1]costs = []X,Y = create_placeholders(n_H0,n_W0,n_C0,n_y)parameters = initialize_parameters()Z3 = forward_propagation(X,parameters)cost = compute_cost(Z3,Y)optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)init = tf.global_variables_initializer()with tf.Session() as sess:sess.run(init)for epoch in range(num_epochs):minibatch_cost = 0num_minibatches = int(m/minibatch_size)seed = seed + 1minibatches = cnn_utils.random_mini_batches(X_train,Y_train,minibatch_size,seed)for minibatch in minibatches:(minibatch_X,minibatch_Y) = minibatch_,temp_cost = sess.run([optimizer,cost],feed_dict={X:minibatch_X,Y:minibatch_Y})minibatch_cost +=temp_cost/num_minibatchesif print_cost:if epoch%5==0:print('epoch=',epoch,',minibatch_cost=',minibatch_cost)if epoch%1==0:costs.append(minibatch_cost)if isPlot:plt.plot(np.squeeze(costs))plt.ylabel('cost')plt.xlabel('iterations(per tens)')plt.title('learning rate = '+str(learning_rate))plt.show()predict_op = tf.arg_max(Z3,1)corrent_prediction = tf.equal(predict_op,tf.arg_max(Y,1))accuracy = tf.reduce_mean(tf.cast(corrent_prediction,'float'))print(accuracy)train_accurary = accuracy.eval({X:X_train,Y:Y_train})test_accuary = accuracy.eval({X:X_test,Y:Y_test})print(train_accurary)print(test_accuary)return (train_accurary,test_accuary,parameters)

测试:

_,_,parameters = model(X_train,Y_train,X_test,Y_test,num_epochs=100)

结果:

epoch= 0 ,minibatch_cost= 1.9179195687174797
epoch= 5 ,minibatch_cost= 1.5324752107262611
epoch= 10 ,minibatch_cost= 1.0148038603365421
epoch= 15 ,minibatch_cost= 0.8851366713643074
epoch= 20 ,minibatch_cost= 0.7669634483754635
epoch= 25 ,minibatch_cost= 0.651207884773612
epoch= 30 ,minibatch_cost= 0.6133557204157114
epoch= 35 ,minibatch_cost= 0.6059311926364899
epoch= 40 ,minibatch_cost= 0.5347129087895155
epoch= 45 ,minibatch_cost= 0.5514022018760443
epoch= 50 ,minibatch_cost= 0.49697646126151085
epoch= 55 ,minibatch_cost= 0.4544383566826582
epoch= 60 ,minibatch_cost= 0.45549566112458706
epoch= 65 ,minibatch_cost= 0.4583591800183058
epoch= 70 ,minibatch_cost= 0.4500396177172661
epoch= 75 ,minibatch_cost= 0.4106866829097271
epoch= 80 ,minibatch_cost= 0.46900513023138046
epoch= 85 ,minibatch_cost= 0.389252956956625
epoch= 90 ,minibatch_cost= 0.3638075301423669
epoch= 95 ,minibatch_cost= 0.3761322880163789
Tensor("Mean_1:0", shape=(), dtype=float32)
0.86851853
0.73333335

在这里插入图片描述

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 室内装修的木工知识分享

    原标题:室内装修的木工知识分享离不开木工的技术和施工,尤其是吊顶是一项非常考验木工技术是否过硬的工程项目。那么这该从哪里看出木工活的好与坏呢,小编现在就为您细细道来。 室内装修木工验收要点: 1、表明要平整:装饰装修木工项目是否存在破缺现象。应保证木工项目装…...

    2024/5/7 19:28:39
  2. 计算机网络-TCP运输连接管理

    目录1 运输连接概述2 TCP的连接建立3 TCP的连接释放 1 运输连接概述TCP 是面向连接的协议 TCP 连接有三个阶段:连接建立,数据传送,连接释放 TCP 连接的管理就是使 TCP 连接的建立和释放都能正常地进行TCP 连接建立过程中要解决的三个问题:要使每一方能够确知对方的存在,确…...

    2024/5/7 20:18:51
  3. Qt打包发布的程序出现“应用程序无法正常启动(0xc000007b)”

    问题出现过程:1.Qt Creator中Release顺利编译执行程序2.用自带的windeployqt打包发布3.执行打包发布的*.exe执行程序后弹出错误提示框“应用程序无法正常启动(0xc000007b)”原因:Qt for Desktop版本使用错误.注意:windows 64位系统应用对应的Qt for Desktop (MinGW 64 bit)打…...

    2024/4/25 11:42:26
  4. 反渗透膜的清洗方案与基础

    原标题:反渗透膜的清洗方案与基础超声波清洗的基础: 1、空化作用:空化作用就是超声波以每秒两万次以上的压缩力和减压力交互性的高频变换方式向液体进行透射。膜在减压力作用时,液体中产生真空核群泡的现象,在压缩力作用时,真空核群泡受压力压碎时产生强大的冲击力,由此…...

    2024/4/25 11:42:26
  5. 深度学习的数学原理-复杂函数求导的链式传递及多变量近似公式

    文章目录前言正文复杂函数求导神经网络中的复合函数单变量复合函数链式法则多变量函数链式法则函数的近似公式单变量函数的近似公式多变量函数的近似公式总结 排版可能更好一点的永久原文链接:深度学习的数学原理-复杂函数求导的链式传递及多变量近似公式 前言 前文中对导数、…...

    2024/5/8 3:01:54
  6. C语言:习题6-5 使用函数验证哥德巴赫猜想 (20分)

    本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口定义:int prime( int p ); void Goldbach( int n );其中函数prime当用户传入参…...

    2024/5/7 18:11:30
  7. 中专学历体育特长生逆袭世界百强名校

    原标题:中专学历体育特长生逆袭世界百强名校W同学是北京什刹海学校体育特长生,GPA80;IELTS总分6分,获谢菲尔德大学数字传媒专业本预、埃克塞特大学运动科学专业本预、东英吉利大学媒体研究专业本预录取。 一、基本信息 学生姓名:W同学 就读院校:北京什刹海学校 标化成…...

    2024/4/25 11:42:22
  8. 50_2字符流中第一次出现一次的字符

    字符流中第一次出现一次的字符字符流中第一个出现的字符解法:因为是要动态的统计第一次出现的第一个字符,所以每一次找第一个出现的字符的时候都要对记录字符位置的数组进行遍历。-1表示从未出现过,-2表示出现多于一次,0~max表示第一次出现的位置。 #include <iostream&…...

    2024/4/25 11:42:21
  9. 游泳水变质对健康的影响?

    原标题:游泳水变质对健康的影响?游泳水质变色,有异味,都是会影响身体健康的,所以说游泳虽说是一项健康的有氧运动,但是也低找到安全的游泳馆,这样就可以放心一些,对于游泳池来说,最重要的是了。 游泳池水质恶化表现为 池水微生物数量的增加,并有病原微生物增殖的可…...

    2024/5/6 9:49:50
  10. java类单继承 C++可以多继承

    文章目录java类单继承在C++支持多继承 java类单继承 java类单继承: Java的三大特性,继承、封装、多态。Java中不支持多继承,子类只能有一个父类或者没有父类。所谓继承,简单理解可以从字面意思去认识学习,就是"子"可以继承"父"所拥有的属性及方法。传承…...

    2024/4/25 11:42:19
  11. 智能家居引领科技智能前沿 新潮生活等你来体验

    原标题:智能家居引领科技智能前沿 新潮生活等你来体验智能家居近年来呈现出火热的发展态势,全屋智能家居更是用科技智能惊呆了小伙伴们的眼球。今年夏季北京的一场智能家居展汇聚了上百家智能品牌,为大众呈现了丰富多彩的智能家居使用体验。尤其是在全屋智能家居领域,北京者…...

    2024/5/7 16:15:57
  12. 江西兴国大力倡导文明旅游

    原标题:江西兴国大力倡导文明旅游10月26日,行走在兴国县将军公园,随处可见各种文明标语,提醒游客约束自身行为,倡导文明出游。为全面提升市民文明旅游素质,营造良好旅游环境,该县积极通过完善制度、大力宣传、加强引导,深入推进文明旅游工作,让文明出游成最美风景。 图…...

    2024/5/8 1:05:42
  13. 你可以做的更好

    原标题:你可以做的更好俗话说:天生我才必有用。这话站在个人的角度上是非常认可的,很多人在生活中总喜欢自抱自怨,因为一时的想不开导致后悔终身。其实很多时候我们只需要在遇到事情的时候稍微给自己一点点时间,哪怕只有短短的几分钟;问问自己:我为什么要这样生气呢?这…...

    2024/5/6 22:26:37
  14. 农村男子在田边设陷阱,第二天来看,抓到一只肥鸟

    原标题:农村男子在田边设陷阱,第二天来看,抓到一只肥鸟实拍越南农村男子在田边布置陷阱抓野鸟,不是我夸,农村真真的好,不仅生态好,空气新鲜,还有许多野味抓来吃,这是农村特有的,虽然出来工作已久,但是小编还想念着家乡野味的味道。从小在农村长大,对农村一切都非常…...

    2024/4/25 11:42:15
  15. 孙尚宫有加盟的吗?看起来不错哟。

    原标题:孙尚宫有加盟的吗?看起来不错哟。孙尚宫有加盟的吗?看起来不错哟。 责任编辑:...

    2024/4/25 8:56:59
  16. 欧洲商学院之德国商学院,特色都有啥?

    原标题:欧洲商学院之德国商学院,特色都有啥?作者本次跟大家介绍一下德国的商学院,相对于其他国家的商学院,他又有什么特色呢? 与英,美,加等趋于饱和的商科留学大国相比,还是一片净土。德国高等商学院的国际生比例高达50%,吸引着全球优秀的商科人才,中国留学生们也开…...

    2024/4/25 11:42:14
  17. 马拉松赛道烽烟起 吕梁英雄再谱新篇

    原标题:马拉松赛道烽烟起 吕梁英雄再谱新篇金秋凉爽季,跑马好时节 山中有盛会,恭候八方客——跑马拉,交同好,吃风味,游山景……好事多多啊! 10月11日,随着第二届全国体育文化博览会和体育旅游博览会在龙城太原开幕,吕梁首个半程马拉松赛报名仪式也正式启动。应季而…...

    2024/4/25 11:42:12
  18. 男朋友们,准备好你们的钱包!

    原标题:男朋友们,准备好你们的钱包!女朋友生日吃什么 第一次牵手纪念日吃什么 第一次拥抱纪念日吃什么 第一次接吻纪念日吃什么 …… 这些号称恋爱中的几大难题难倒了无数的男同胞 不要愁 小编给你推荐 男朋友们,你们只需要准备好自己的钱包就好了 ↓ Gray Whale…...

    2024/4/25 11:42:11
  19. 济仁慈善基金会在京、豫两地举办党建公益活动

    原标题:济仁慈善基金会在京、豫两地举办党建公益活动6月27日,济仁慈善基金会分别在北京和郑州两地,举办了别开生面的党建公益活动。27日上午,“党史故事激励我,国医高手送健康”活动在河南省老干部活动中心拉开帷幕。本次活动由济仁慈善基金会、河南广播电视台、河南省国际…...

    2024/4/25 11:42:11
  20. 澳币进入寒冬,美元热血飙升!WINTER IS COMING…

    原标题:澳币进入寒冬,美元热血飙升!WINTER IS COMING…澳币进入寒冬,美元热血飙升!WINTER IS COMING… 凛冬将至,土澳的小伙伴们纷纷换上了厚厚的冬装,哦不,是厚厚的上衣。。 而国内的小伙伴已处在“水深火热”之中。。 随着天气变化的还有“骤入寒冬”的澳币和“穿着比…...

    2024/4/25 11:42:09

最新文章

  1. 方法学习后简单案例

    方法简单案例 案例1&#xff1a;键盘录入一个数据n(1<n<9)&#xff0c;输出对应的nn乘法表 import java.util.Scanner; public class Test{public static void main(String[] args){Scanner scan new Scanner(System.in);System.out.println("请输入1~9的数字&…...

    2024/5/8 6:37:24
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. 深入浅出 -- 系统架构之微服务中Nacos的部署

    前面我们提到过&#xff0c;在微服务架构中&#xff0c;Nacos注册中心属于核心组件&#xff0c;通常我们会采用高性能独立服务器进行部署&#xff0c;下面我们一起来看看Nacos部署过程&#xff1a; 1、环境准备 因为Nacos是支持windows和Linux系统的&#xff0c;且服务器操作…...

    2024/5/5 1:21:32
  4. 前端 js 经典:字符编码详解

    前言&#xff1a;计算机只能识别二进制&#xff0c;开发语言中数据类型还有数字&#xff0c;字母&#xff0c;中文&#xff0c;特殊符号等&#xff0c;都需要转化成二进制编码才能让技术机识别。 一. 编码方式 ACSLL、Unicode、utf-8、URL 编码、base64 等。 1. ACSLL 对英语…...

    2024/5/4 10:30:35
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/7 9:45:25
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/7 14:25:14
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57