重拾pytorch,练手(二)——三组坐标点的非线性分类

本文介绍了如何在PyTorch中构建一个简单的神经网络模型,解决数据类型不匹配问题,并演示了如何处理和可视化数据,以及训练过程和决策边界绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码参考bilibili UP主——小黑黑讲AI

【bilibili】基于pytorch实现一个神经网络,训练非线性的分类模型

本人并不是这位UP。

前言部分记录下总是容易出错的地方

  1. 总是提示说mat1和mat2的数据类型不符,这个太坑了,numpy的float是float64,要换成torch的float32,或者直接torch.float类型就行了;
  2. 有关tensor,确实乱七八糟的,一定要自己看看是不是想要的shape
  3. 变量命名方式,可以参考torch官网来,保证自己代码的风格一致,比如X是feature,y是label啥的,pred是测试的结果。
# 制造数据
import numpy as np
import matplotlib.pyplot as plt
def make_data(num, seed=10):
    np.random.seed(seed)
    r_rand = np.random.standard_normal(num)*0.3
    t_rand = np.random.random(num)*np.pi*2
    center = np.array([[0,0]]*num)+np.array([r_rand*np.cos(t_rand),r_rand*np.sin(t_rand)]).T
    plt.scatter(center[:,0],center[:,1], c='r')

    r_rand = np.random.standard_normal(num)*0.3+2
    t_rand = np.random.random(num)*np.pi*2
    center1 = np.array([[0,0]]*num)+np.array([r_rand*np.cos(t_rand),r_rand*np.sin(t_rand)]).T
    plt.scatter(center1[:,0],center1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值