查看“作业1答案,待完善”的源代码
←
作业1答案,待完善
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
# 当前答案有误,请自行检查 import numpy as np import os from PIL import Image def loss(y_pred,y_true):#y_pred shape->vector return sum((y_pred - y_true)**2) def df(x): pass def random_init(shape): return np.random.rand(shape) def load_dataset(path): ab = os.listdir(path) ba = [i for i in ab if 'jpg' in i] x = [] y = [] for i in range(len(ba)): xi = Image.open(os.path.join(path,ba[i])).convert('L') xii = np.array(xi) xii = xii[:200,:200] yi = sum(sum(xii)) x.append(xii) y.append(yi) x = np.array(x) y = np.array(y) return x,y def bp(w,b,c,yi,ai,lr): for i in range(len(w)): w[i] = w[i] - lr * 2*(yi-c)*ai[i] b = b - lr * 2*(yi-c)*1 return w,b def forword(x,w,b): return sum(x*w)+b def train(x,y,w,b,lr): for i in range(x.shape[0]): c = forword(x[i],w,b) los = loss(c,y[i]) w,b = bp(w,b,c,y[i],x[i],lr) print('Loss:\t',los) return w,b def main(): path = r'C:\Users\mtju\Desktop' lr = 0.01 a , y= load_dataset(path) x = a.reshape(a.shape[0],-1) w = random_init(x.shape[1]) b = random_init(1) for i in range(10): w1,b1 = train(x,y,w,b,lr) return w1,b1 # a = random_init(10) # b = np.random.rand(10,20) # b = b.reshape(5,5,-1) # c = loss(a,b) w , b = main()
返回至“
作业1答案,待完善
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
CLUSTERS
首页
Current events
最近更改
帮助
工具
链入页面
相关更改
特殊页面
页面信息