深度学习pytorch之dataclass

深度学习pytorch之@dataclass

为了解释Dataclass,我们可以自己实现一个类,然后通过@dataclass装饰器来实现同样的功能,这个类能够存储一个数字,拥有比大小的功能

#普通的类,返回值的大小
class Number:
    def __init__(self,val):
        self.val=val

one=Number(1)
print(one)#返回的是对象 #<__main__.Number object at 0x0000022DF7BDD8D0>
print(one.val)# 1
#通过__repr__可以直接拿到值
class Number:
    def __init__(self,val):
        self.val=val
    def __repr__(self):
        return str(self.val)

one=Number(1)
print(one) #1
#实现比较大小
class Number:
    def __init__(self,number):
        self.number=number
    def __repr__(self):
        return str(self.number)
    def __eq__(self, other):
        return self.number==other
    def __lt__(self, other):
        return self.number<other

one=Number(1)
two=Number(2)
result=one.__eq__(two)
print(result) #False
from dataclasses import dataclass
#装饰器
@dataclass
class Number:
    #初始化为0
    val:int=0

one=Number(1)
two=Number(2)
print(one)# Number(val=1)
print(one.val)# 1
#虽然我们自己没有实现__eq__函数,但是依然能够调用
print(one.__eq__(two))# False

通过上面,很明显使用dataclass装饰器,很大程度上减少了代码量,很方便。除了上面的整型外,还可以使用其他的类型,包括自己定义的数据类型。

from typing import List, Any
class MultiChoiceExample:
    guid: Any = None
    context: str = None
    answers: List[str] = None
    labels: int = None
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了在GPU上搭建动手学深度学习pytorch环境,你需要按照以下步骤进行操作。 首先,你需要安装Anaconda来管理你的Python环境。你可以从官方网站 https://www.anaconda.com/ 下载适用于你操作系统的Anaconda安装程序。安装完成后,你可以使用conda命令创建一个新的环境。 接下来,你需要安装CUDA。CUDA是用于支持GPU计算的NVIDIA的并行计算平台和API模型。你可以从NVIDIA的官方网站下载适用于你的显卡型号的CUDA安装程序进行安装。 然后,你需要安装CUDNN。CUDNN是一个针对深度神经网络加速的GPU库。你可以从NVIDIA的开发者网站下载CUDNN并按照安装说明进行安装。 接下来,你可以使用conda命令来安装pytorch。你可以复制以下命令,在新建的环境中输入: ``` conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch ``` 安装完成后,你可以在命令行中输入python进入Python解释器环境,并导入torch模块来测试pytorch的安装。你可以使用以下代码进行测试: ```python import torch from __future__ import print_function x = torch.rand(5, 3) print(x) print(torch.cuda.is_available()) # 测试CUDA是否可用 ``` 这样,你就成功搭建了动手学深度学习pytorch环境,并且可以在GPU上进行深度学习任务了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [01 动手学习深度学习-配置环境pytorch](https://blog.csdn.net/qq_44653420/article/details/123883400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值