Python-两层神经网络的类

简介: 简单使用

image.png

代码实现

import numpy as np
def numerical_gradient(f,x):

h=1e-4
# 生成与x形状相同的数组
grad=np.zeros_like(x)
for idx in range(x.size):
    tmp_val=x[idx]
    x[idx]=tmp_val+h
    fxh1=f(x)
    x[idx]=tmp_val-h
    fxh2=f(x)
    grad[idx]=(fxh1-fxh2)/2*h
    x[idx]=tmp_val
return grad
    

def sigmold(x):

return 1/(1+np.exp(-x))

def softmax(a):

c=np.max(a)
exp_a=np.exp(a-c)
sum_exp_a=np.sum(exp_a)
y=exp_a/sum_exp_a
return  y

def cross_enroty_errorly(y,t):

if y.ndim==1:
    t=t.reshape(1,t.size)
    y=y.reshape(1,y.size)
batch_size=y.shape(0)
return -np.sum(np.log(y[np.arange(batch_size),t]+1e-7))/batch_size

class TwolayerNet:

def __init__(self,input_size,hidden_size,output_size,weight_init_std=0.01):
    self.params={}
    self.params["w1"]=weight_init_std*np.random.randn(input_size,hidden_size)
    self.params["w2"]=weight_init_std*np.random.randn(hidden_size,output_size)
    self.params["b1"]=np.zeros(hidden_size)
    self.params["b2"]=np.zeros(output_size)
def predict(self,x):
    w1,w2=self.params["w1"],self.params["w2"]
    b1,b2=self.params["b1"],self.params["b2"]
    a1 = np.dot(x,w1) + b1
    z1 = sigmold(a1)
    a2 = np.dot(z1,w2) + b1
    y=softmax(a2)
    return y
def loss(self,x,t):
    y=self.predict(x)
    return cross_enroty_errorly(y,t)
def accury(self,x,t):
    y=self.predict(x)
    y=np.argmax(y,axis=1)
    t=np.argmax(1,axis=1)
    accury=np.sum(y==t)/float(x.shape[0])
    return accury
def numerical_gradient(self,x,t):
    loss_w=lambda w:self.loss(x,t)
    grads={}
    grads["w1"]=(loss_w,self.params["w1"])
    grads["b1"] = numerical_gradient(loss_w, self.params["b1"])
    grads["w2"] = numerical_gradient(loss_w, self.params["w2"])
    grads["b2"] = numerical_gradient(loss_w, self.params["b2"])
    return grads
相关文章
|
15天前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
65 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
15天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
60 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
11天前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
23 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
6天前
|
前端开发 Python
Python编程的面向对象(二)—类的多态
Python编程的面向对象(二)—类的多态
13 7
|
5天前
|
IDE Java 开发工具
Python类与面向对象
Python类与面向对象
|
7天前
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
33 5
|
10天前
|
数据采集 存储 JavaScript
构建您的第一个Python网络爬虫:抓取、解析与存储数据
【9月更文挑战第24天】在数字时代,数据是新的金矿。本文将引导您使用Python编写一个简单的网络爬虫,从互联网上自动抓取信息。我们将介绍如何使用requests库获取网页内容,BeautifulSoup进行HTML解析,以及如何将数据存储到文件或数据库中。无论您是数据分析师、研究人员还是对编程感兴趣的新手,这篇文章都将为您提供一个实用的入门指南。拿起键盘,让我们开始挖掘互联网的宝藏吧!
|
9天前
|
关系型数据库 MySQL Python
mysql之python客户端封装类
mysql之python客户端封装类
|
10天前
|
Python
python 类中的内置方法
python 类中的内置方法
下一篇
无影云桌面