0
点赞
收藏
分享

微信扫一扫

[运维|数据库] mysql的charset与PostgreSQL的encoding

zidea 2023-09-17 阅读 33

目录

一、实验介绍

二、实验环境

三、实验内容

0. 导入库

1. linear_model函数

2. loss_function函数

3. 定义数据

4. 调用函数


一、实验介绍

  • 使用Numpy实现
    • 线性模型搭建
    • 构造损失函数
    • 进行模型前向传播并计算损失值

二、实验环境

conda create -n DL python=3.7 
conda activate DL
pip install torch==1.8.1+cu102 torchvision==0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
conda install matplotlib

三、实验内容

0. 导入库

首先,导入了numpy库,用于进行数值计算。

import numpy as np

1. 定义线性模型linear_model

        该函数接受输入数据x,使用随机生成的权重w和偏置b,计算输出值output。这里的线性模型的形式为 output = x * w + b

def linear_model(x):
    w = np.random.randn(1)
    b = np.random.randn(1)
    output = np.dot(x, w) + b
    return output

2. 定义损失函数loss_function

        该函数接受目标值y和模型预测值prediction,计算均方误差损失。均方误差损失的计算公式为 (prediction - y) * (prediction - y)

def loss_function(y, prediction):
    loss = (prediction - y) * (prediction - y)
    return loss

3. 定义数据

  • 生成了一个形状为(5, 1)的随机输入数据x,每个元素都是在0到1之间的随机数。
  • 生成了一个形状为(5,)的目标值y,包含了5个标签(1或-1),用于模型训练和损失计算。
  • 打印了数据的信息,包括每个样本的输入值x和目标值y
x = np.random.rand(5, 1)
y = np.array([1, -1, 1, -1, 1]).astype('float')
print("The data is as follows:")
for i in range(x.shape[0]):
    print("Item " + str(i), "x:", x[i][0], "y:", y[i])

4. 调用函数

  • 调用linear_model函数,传入输入数据x,得到模型的预测值prediction
  • 调用loss_function函数,传入目标值y和预测值prediction,得到损失值loss
  • 打印了每个样本的损失值。
prediction = linear_model(x)
loss = loss_function(y, prediction)
print("The all loss value is:")
for i in range(len(loss)):
    print("Item ", str(i), "Loss:", loss[i])


注意:

        本实验的线性模型仅简单地使用随机权重和偏置,计算了模型在训练集上的均方误差损失,没有使用优化算法进行模型参数的更新。

        通常情况下会使用梯度下降等优化算法来最小化损失函数,并根据训练数据不断更新模型的参数,具体内容请听下回分解。

举报

相关推荐

0 条评论