From 90be4a6a248c1ea29e850ed2c2e819a6df4e1f1a Mon Sep 17 00:00:00 2001 From: wolves Date: Fri, 7 Jun 2024 02:27:57 +0800 Subject: [PATCH] routine --- README.md | 14 +++++++++--- linear regression/1_cuda.py | 10 ++++++-- linear regression/print1.png | Bin 36299 -> 34941 bytes mnist/README.md | 43 +++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 mnist/README.md diff --git a/README.md b/README.md index 5380cb9..561b6fc 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ conda install pytorch::pytorch torchvision torchaudio -c pytorch -y pip install -r requirements.txt ``` -## MAC +## WIN ```shell # 安装 pytorch v1.12版本已经正式支持了用于mac m1芯片gpu加速的mps后端 conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia @@ -23,7 +23,15 @@ conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvi pip install -r requirements.txt ``` -## gpt4free +## Linux +```shell +# 安装 pytorch v1.12版本已经正式支持了用于mac m1芯片gpu加速的mps后端 +conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia + +pip install -r requirements.txt ``` -pip install -U g4f[all] + +## Proxy +```shell +-i https://pypi.tuna.tsinghua.edu.cn/simple ``` \ No newline at end of file diff --git a/linear regression/1_cuda.py b/linear regression/1_cuda.py index be818aa..634e697 100644 --- a/linear regression/1_cuda.py +++ b/linear regression/1_cuda.py @@ -2,6 +2,7 @@ import matplotlib.pyplot as plt import numpy as np import torch + # 线性回归训练代码 def compute_error_for_line_given_points(b, w, points): totalError = 0 @@ -12,6 +13,7 @@ def compute_error_for_line_given_points(b, w, points): totalError += (y - (w * x + b)) ** 2 return totalError / N + def step_gradient(b_current, w_current, points, learningRate): b_gradient = torch.tensor(0.0, device=points.device) w_gradient = torch.tensor(0.0, device=points.device) @@ -25,25 +27,29 @@ def step_gradient(b_current, w_current, points, learningRate): new_w = w_current - (learningRate * w_gradient) return [new_b, new_w] + def gradient_descent_runner(points, starting_b, starting_w, learningRate, num_iterations): b = torch.tensor(starting_b, device=points.device) w = torch.tensor(starting_w, device=points.device) for i in range(num_iterations): b, w = step_gradient(b, w, points, learningRate) + print("round:", i) return [b, w] + def run(): points_np = np.genfromtxt("data1.csv", delimiter=',').astype(np.float32) - points = torch.tensor(points_np, device='cuda') + points = torch.tensor(points_np, device='cuda:5') learning_rate = 0.0001 initial_b = 0.0 initial_w = 0.0 num_iterations = 100000 [b, w] = gradient_descent_runner(points, initial_b, initial_w, learning_rate, num_iterations) print("After gradient descent at b={0}, w={1}, error={2}".format(b.item(), w.item(), - compute_error_for_line_given_points(b, w, points))) + compute_error_for_line_given_points(b, w, points))) return b.item(), w.item() + # 运行线性回归 final_b, final_w = run() diff --git a/linear regression/print1.png b/linear regression/print1.png index 1b6dbdd880f449c7a9a3007fe81a59f77099c180..153b7af7d309258ad5a2038bbabafc6d76efa02d 100644 GIT binary patch literal 34941 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 literal 36299 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 Jtg8l3{ufos!5IJm diff --git a/mnist/README.md b/mnist/README.md new file mode 100644 index 0000000..0f727ad --- /dev/null +++ b/mnist/README.md @@ -0,0 +1,43 @@ +# No deep learning,just function mapping + +$$ +X = [v_1,v_2,.....,v_{784}]\\ +X:[1,dx] +$$ + +$$ +H_1 = XW_{1} + b_{1} \\ +W_1:[d_1,dx] \\ +b_1:[d_1] +$$ + +$$ +H_2 = H_1W_2 + b_2 \\ +W_1:[d_2,d_1] \\ +b_1:[d_2] +$$ + +$$ +H_3=H_2W_3 + b_3 \\ +W_3:[10,d_2]\\ +b_3:[10] +$$ + +## Loss + +$$ +H_3:[1,d_3] \\ +Y:[0/1/2/.../9] \\ +eg.:1\geq[0,1,0,0,0,0,0,0,0,0,0] \\ +eg.:3\geq[0,0,0,1,0,0,0,0,0,0,0] \\ +Euclidean\ Distance:H_3\ vs\ Y +$$ + + + +## In a nutshell + +$$ +pred = W_3 \times \{W_2\cdot[W_1X+b_1]+b_2\}+b_3 +$$ +