<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://cluster.shao.ac.cn/wiki/index.php?action=history&amp;feed=atom&amp;title=%E4%BD%9C%E4%B8%9A1%E7%AD%94%E6%A1%88%EF%BC%8C%E5%BE%85%E5%AE%8C%E5%96%84</id>
	<title>作业1答案，待完善 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://cluster.shao.ac.cn/wiki/index.php?action=history&amp;feed=atom&amp;title=%E4%BD%9C%E4%B8%9A1%E7%AD%94%E6%A1%88%EF%BC%8C%E5%BE%85%E5%AE%8C%E5%96%84"/>
	<link rel="alternate" type="text/html" href="http://cluster.shao.ac.cn/wiki/index.php?title=%E4%BD%9C%E4%B8%9A1%E7%AD%94%E6%A1%88%EF%BC%8C%E5%BE%85%E5%AE%8C%E5%96%84&amp;action=history"/>
	<updated>2026-04-27T15:57:48Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>http://cluster.shao.ac.cn/wiki/index.php?title=%E4%BD%9C%E4%B8%9A1%E7%AD%94%E6%A1%88%EF%BC%8C%E5%BE%85%E5%AE%8C%E5%96%84&amp;diff=4370&amp;oldid=prev</id>
		<title>Cluster：​Created page with &quot;# 当前答案有误，请自行检查 import numpy as np import os from PIL import Image  def loss(y_pred,y_true):#y_pred shape-&gt;vector     return sum((y_pred - y_true)**2)...&quot;</title>
		<link rel="alternate" type="text/html" href="http://cluster.shao.ac.cn/wiki/index.php?title=%E4%BD%9C%E4%B8%9A1%E7%AD%94%E6%A1%88%EF%BC%8C%E5%BE%85%E5%AE%8C%E5%96%84&amp;diff=4370&amp;oldid=prev"/>
		<updated>2021-12-07T04:47:14Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;# 当前答案有误，请自行检查 import numpy as np import os from PIL import Image  def loss(y_pred,y_true):#y_pred shape-&amp;gt;vector     return sum((y_pred - y_true)**2)...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;# 当前答案有误，请自行检查&lt;br /&gt;
import numpy as np&lt;br /&gt;
import os&lt;br /&gt;
from PIL import Image&lt;br /&gt;
&lt;br /&gt;
def loss(y_pred,y_true):#y_pred shape-&amp;gt;vector&lt;br /&gt;
    return sum((y_pred - y_true)**2)&lt;br /&gt;
&lt;br /&gt;
def df(x):&lt;br /&gt;
    pass&lt;br /&gt;
&lt;br /&gt;
def random_init(shape):&lt;br /&gt;
    return np.random.rand(shape)&lt;br /&gt;
&lt;br /&gt;
def load_dataset(path):&lt;br /&gt;
    ab = os.listdir(path)&lt;br /&gt;
    ba = [i for i in ab if &amp;#039;jpg&amp;#039; in i]&lt;br /&gt;
    x = []&lt;br /&gt;
    y = []&lt;br /&gt;
    for i in range(len(ba)):&lt;br /&gt;
        xi = Image.open(os.path.join(path,ba[i])).convert(&amp;#039;L&amp;#039;)&lt;br /&gt;
        xii = np.array(xi)&lt;br /&gt;
        xii = xii[:200,:200]&lt;br /&gt;
        yi = sum(sum(xii))&lt;br /&gt;
        x.append(xii)&lt;br /&gt;
        y.append(yi)&lt;br /&gt;
    x = np.array(x)&lt;br /&gt;
    y = np.array(y)&lt;br /&gt;
    return x,y&lt;br /&gt;
      &lt;br /&gt;
def bp(w,b,c,yi,ai,lr):&lt;br /&gt;
    for i in range(len(w)):&lt;br /&gt;
        w[i] = w[i] - lr * 2*(yi-c)*ai[i]&lt;br /&gt;
    b = b - lr * 2*(yi-c)*1&lt;br /&gt;
    return w,b&lt;br /&gt;
&lt;br /&gt;
def forword(x,w,b):&lt;br /&gt;
    return sum(x*w)+b&lt;br /&gt;
&lt;br /&gt;
def train(x,y,w,b,lr):&lt;br /&gt;
    &lt;br /&gt;
    for i in range(x.shape[0]):&lt;br /&gt;
        c = forword(x[i],w,b)&lt;br /&gt;
        los = loss(c,y[i])&lt;br /&gt;
        w,b = bp(w,b,c,y[i],x[i],lr)&lt;br /&gt;
        print(&amp;#039;Loss:\t&amp;#039;,los)&lt;br /&gt;
    return w,b&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    path = r&amp;#039;C:\Users\mtju\Desktop&amp;#039;&lt;br /&gt;
    lr = 0.01&lt;br /&gt;
    a , y= load_dataset(path)&lt;br /&gt;
    x = a.reshape(a.shape[0],-1)&lt;br /&gt;
    w = random_init(x.shape[1])&lt;br /&gt;
    b = random_init(1)&lt;br /&gt;
    for i in range(10):&lt;br /&gt;
        w1,b1 = train(x,y,w,b,lr)&lt;br /&gt;
    return w1,b1&lt;br /&gt;
&lt;br /&gt;
# a = random_init(10)&lt;br /&gt;
# b = np.random.rand(10,20)&lt;br /&gt;
# b = b.reshape(5,5,-1)&lt;br /&gt;
# c = loss(a,b)&lt;br /&gt;
w , b = main()&lt;/div&gt;</summary>
		<author><name>Cluster</name></author>
	</entry>
</feed>