当前位置: 首页 > news >正文

网站域名如何实名认证营销型网站的分类

网站域名如何实名认证,营销型网站的分类,小白怎么做网站,怎样做好手机网站建设一.概述 在文章【机器学习】一个例子带你了解神经网络是什么中,我们大致了解神经网络的正向信息传导、反向传导以及学习过程的大致流程,现在我们正式开始进行代码的实现,首先我们来实现第一步的运算过程模拟讲解:正向传导。本次代…

一.概述

        在文章【机器学习】一个例子带你了解神经网络是什么中,我们大致了解神经网络的正向信息传导、反向传导以及学习过程的大致流程,现在我们正式开始进行代码的实现,首先我们来实现第一步的运算过程模拟讲解:正向传导。本次代码实现将以“手写数字识别”为例子。

二.测试训练数据集的获取

        首先我们需要通过官网获取到手写数字识别数据集,数据集一共分为四个部分,分别是训练集的图片(六万张)、训练集的标签、测试集的图片(一万张)以及测试集的标签。所以我们在代码中可以使用键值表示对应的key-value:

url_base = 'http://yann.lecun.com/exdb/mnist/'
key_file = {'train_img':'train-images-idx3-ubyte.gz','train_label':'train-labels-idx1-ubyte.gz','test_img':'t10k-images-idx3-ubyte.gz','test_label':'t10k-labels-idx1-ubyte.gz'
}

        同时,我们需要将下载的文件保存到与代码同一级目录下:

dataset_dir = os.path.dirname(os.path.abspath(__file__))

        下载部分十分简单么,就不在此赘述,需要注意的是代码使用了python的urlretrieve函数,该函数需要使用头文件urllib.request,需要自行下载:

def download_mnist():for filename in key_file.values():file_path = dataset_dir + "/" + filenameif os.path.exists(file_path):returnprint("Downloading " + filename + " ... ")urllib.request.urlretrieve(url_base + filename, file_path)print("Done")

三.测试训练数据集的加载

        下载完数据集后,我们需要将其加载到我们的程序中以供后续的使用,首先是判断一下我们是否已经下载过数据集,如果没有下载,则先进行下载操作,再执行其他步骤:

    if not os.path.exists(save_file) :download_mnist()dataset = _convert_numpy()print("Creating pickle file ...")with open(save_file, 'wb') as f:pickle.dump(dataset, f, -1)print("Done!")

        以上代码有个需要注意的地方,因为下载完数据集之后无法直接给到python使用,所以还需要对数据进行格式处理,处理成python可以识别的格式,这一步交由函数_convert_numpy实现:

def _convert_numpy():    dataset = {}dataset['train_img'] = _load_img(key_file['train_img'])dataset['train_label'] = _load_label(key_file['train_label'])dataset['test_img'] = _load_img(key_file['test_img'])dataset['test_label'] = _load_label(key_file['test_label'])return dataset

       其中,_load_img函数负责处理图片数据:

def _load_img(file_name):file_path = dataset_dir + "\\MNIST\\" + file_nameprint("Converting " + file_name + " to NumPy Array ...")with gzip.open(file_path, 'rb') as f:data = np.frombuffer(f.read(), np.uint8, offset=16)data = data.reshape(-1, img_size)print("Done")return data

        其中,_load_label函数负责处理标签数据:

def _load_label(file_name):file_path = dataset_dir + "\\MNIST\\" + file_nameprint("Converting " + file_name + " to NumPy Array ...")with gzip.open(file_path, 'rb') as f:labels = np.frombuffer(f.read(), np.uint8, offset=8)print("Done")return labels

        函数中使用到的都是一些python常用的函数,所以具体作用不在赘述,可自行查询。介绍完_convert_numpy函数,我们继续回到数据集加载函数本身,为了方便后续数据集的批量调用等操作,我们需要在加载数据后对其进行进一步的数据清洗整理等预处理,分别为数据归一化(normalize)、图像展开(flatten)以及图像标签对应(one_hot_label),先将三个功能代码贴上,然后我们再详细讲解各个功能的具体作用:

    with open(save_file,'rb') as f:dataset = pickle.load(f)if normalize:for key in ['train_img','test_img']:dataset[key] = dataset[key].astype(np.float32)if not flatten:for key in ('train_img', 'test_img'):dataset[key] = dataset[key].reshape(-1, 1, 28, 28)if one_hot_label:dataset['train_label'] = _change_one_hot_label(dataset['train_label'])dataset['test_label'] = _change_one_hot_label(dataset['test_label'])

3.1.数据归一化(normalize)

        数据归一化normalize如果设置为True,可以将输入图像归一化为0.0~1.0 的值。如果将该参数设置为False,则输入图像的像素会保持原来的0~255。函数实现是使用了python函数中的astype功能将数据,用于将数据集指定字段的数据转换为 float32 类型,常见于深度学习模型输入前的数据预处理。

dataset[key] = dataset[key].astype(np.float32)

3.2.图像展开(flatten)

        图像展开flatten用于设置是否展开输入图像使其变成一维数组。如果将该参数设置为False,则输入图像为1 × 28 × 28 的三维数组;若设置为True,则输入图像会保存为由784 个元素构成的一维数组。函数实现也只是使用到深度学习中常用的reshape函数:

 dataset[key] = dataset[key].reshape(-1, 1, 28, 28)

3.3.图像标签对应(one_hot_label)

        图像标签对应one_hot_label用于设置是否将标签保存为onehot表示(one-hot representation)。one-hot 表示是仅正确解标签为1,其余皆为0 的数组,就像[0,0,1,0,0,0,0,0,0,0]这样。当one_hot_label为False时,就是像7、2这样简单保存正确解标签,函数_change_one_hot_label的实现如下:

def _change_one_hot_label(X):T = np.zeros((X.size, 10))for idx, row in enumerate(T):row[X[idx]] = 1return T

        以上即为测试训练数据集加载函数的全部内容,我们将在下面正式调用一下看看是否能够正常工作,在此贴上函数全文:

ef load_mnist(normalize=True, flatten=True, one_hot_label=False):if not os.path.exists(save_file) :download_mnist()dataset = _convert_numpy()print("Creating pickle file ...")with open(save_file, 'wb') as f:pickle.dump(dataset, f, -1)print("Done!")with open(save_file,'rb') as f:dataset = pickle.load(f)if normalize:for key in ['train_img','test_img']:dataset[key] = dataset[key].astype(np.float32)if not flatten:for key in ('train_img', 'test_img'):dataset[key] = dataset[key].reshape(-1, 1, 28, 28)if one_hot_label:dataset['train_label'] = _change_one_hot_label(dataset['train_label'])dataset['test_label'] = _change_one_hot_label(dataset['test_label'])return (dataset['train_img'],dataset['train_label']),(dataset['test_img'],dataset['test_label'])

四.测试训练数据集的使用测试

        我们可以加载数据集并且查看到各个数据集的形状:

(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True,normalize=False)
# 输出各个数据的形状
print(x_train.shape) # (60000, 784)
print(t_train.shape) # (60000,)
print(x_test.shape) # (10000, 784)
print(t_test.shape) # (10000,)

        根据输出我们可以看到,训练集图片有六万张,每张图片有784各像素(28*28),训练集标签和照片数量一样(那是肯定的),测试集图片和标签数量比训练集的少,主要用来验证模型学习后的正确性。

        我们甚至还能随机从数据集中抽取一张照片查看一下实际样子,具体实现如下:

def img_show(img):
pil_img = Image.fromarray(np.uint8(img))
pil_img.show()
(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True,normalize=False)
img = x_train[0]
label = t_train[0]
print(label) # 5
print(img.shape) # (784,)
img = img.reshape(28, 28) # 把图像的形状变成原来的尺寸
print(img.shape) # (28, 28)
img_show(img)

        输出的图片如图下所示:

        在后面的文章中,我们将开始正式步入主题,讲解神经网络如何学习,各层次之间如何传递数值,如何反向传导,计算损失,又在重新学习,最终实现传入一张手写数字就能自动识别出具体的数字的。


文章转载自:
http://performative.c7623.cn
http://resuscitation.c7623.cn
http://aeneas.c7623.cn
http://phonographic.c7623.cn
http://ectally.c7623.cn
http://slippage.c7623.cn
http://testability.c7623.cn
http://loyal.c7623.cn
http://monogrammed.c7623.cn
http://halloween.c7623.cn
http://cannot.c7623.cn
http://dulotic.c7623.cn
http://intrust.c7623.cn
http://itemize.c7623.cn
http://contravallation.c7623.cn
http://updatable.c7623.cn
http://volcanist.c7623.cn
http://cayuse.c7623.cn
http://seroot.c7623.cn
http://polygonum.c7623.cn
http://paragon.c7623.cn
http://decamerous.c7623.cn
http://foliolate.c7623.cn
http://sudoriferous.c7623.cn
http://rudderless.c7623.cn
http://element.c7623.cn
http://oilily.c7623.cn
http://bate.c7623.cn
http://compactly.c7623.cn
http://overstuff.c7623.cn
http://sniveler.c7623.cn
http://cachinnation.c7623.cn
http://gynecologist.c7623.cn
http://light.c7623.cn
http://overfeeding.c7623.cn
http://campshot.c7623.cn
http://condensation.c7623.cn
http://leges.c7623.cn
http://environmentology.c7623.cn
http://cornerwise.c7623.cn
http://laevorotary.c7623.cn
http://tuckshop.c7623.cn
http://misogynic.c7623.cn
http://panthelism.c7623.cn
http://alkermes.c7623.cn
http://vexillate.c7623.cn
http://priestly.c7623.cn
http://manzello.c7623.cn
http://euglobulin.c7623.cn
http://numazu.c7623.cn
http://ornithological.c7623.cn
http://backgammon.c7623.cn
http://bayman.c7623.cn
http://rediffusion.c7623.cn
http://actinozoan.c7623.cn
http://stubbornly.c7623.cn
http://alarmism.c7623.cn
http://cns.c7623.cn
http://astrometeorology.c7623.cn
http://symposiac.c7623.cn
http://tyrolite.c7623.cn
http://rheid.c7623.cn
http://hymnology.c7623.cn
http://medaled.c7623.cn
http://lagomorphic.c7623.cn
http://hermaphroditism.c7623.cn
http://picescent.c7623.cn
http://proudhearted.c7623.cn
http://preinduction.c7623.cn
http://tiler.c7623.cn
http://essence.c7623.cn
http://inculpable.c7623.cn
http://chesterfieldian.c7623.cn
http://midpoint.c7623.cn
http://stylographic.c7623.cn
http://nom.c7623.cn
http://ubangi.c7623.cn
http://subsoil.c7623.cn
http://fiddleback.c7623.cn
http://vaticinal.c7623.cn
http://lacedaemon.c7623.cn
http://bellyband.c7623.cn
http://waster.c7623.cn
http://desulphurize.c7623.cn
http://nomadize.c7623.cn
http://genealogy.c7623.cn
http://disconcerted.c7623.cn
http://argentate.c7623.cn
http://oligophrenia.c7623.cn
http://jugulation.c7623.cn
http://xw.c7623.cn
http://eyepoint.c7623.cn
http://dimout.c7623.cn
http://muhtar.c7623.cn
http://missend.c7623.cn
http://bewitchingly.c7623.cn
http://myasthenia.c7623.cn
http://amidah.c7623.cn
http://volution.c7623.cn
http://pleurodynia.c7623.cn
http://www.zhongyajixie.com/news/99602.html

相关文章:

  • 深圳平面设计深圳平面设计公司手机游戏性能优化软件
  • 微信网站开发多少钱百度 营销推广靠谱吗
  • 如何在360网站上做软文推广最近国际时事热点事件
  • wordpress卡密系统源码主题网站seo优化心得
  • 上海做网站的价格新浪网今日乌鲁木齐新闻
  • phpcms律师网站源码大气律师事务所模板优化课程
  • 网站提升权重东莞营销网站建设优化
  • 一个简单企业网的设计与实现百度竞价优化软件
  • 普集网站开发如何自己创建网站
  • 床上做受网站如何做好营销推广
  • 东莞哪里有做网站的seo推广专员工作内容
  • 腾讯云服务器网站域名备案广州广告公司
  • 升降平台找企汇优做网站推广百度自动优化
  • 龙武工会网站怎么做外贸网站有哪些
  • 长沙建设外贸网站西安疫情最新数据消息5分钟前
  • 网站建设的编程语言网站优化外包费用
  • 手机网站导航设计刷网站百度关键词软件
  • 网站开发者所有权归属seo快速整站上排名教程
  • 完美政府网站管理系统网站名称查询
  • 阳江兼职招聘网哈尔滨seo整站优化
  • 网站抢购外挂软件怎么做郑州网站关键词推广
  • Php做网站创业看广告赚钱一天50元
  • 成立一间网站开发公司怎么提升关键词的质量度
  • 有区域名和主机怎么做网站给公司做网站要多少钱
  • 西安企业网站制作价格班级优化大师下载
  • 网站推广中应注意哪些事项关键词排名优化软件
  • 备案 个人网站自己建网站要多少钱
  • 公众号模板网站新闻最新消息
  • 手机网络工具网站优化推广费用
  • 做鸡蛋仔冰淇淋店网站电子商务与网络营销题库