当前位置: 首页 > news >正文

出现raise NotImplementedError报错

在学习《动手学深度学习》时,实现下面代码时,报出raise NotImplementedError错误。

import collections
import torch
from d2l import torch as d2l
import math
from torch import nnclass Seq2SeqEncoder(d2l.Encoder):def __init__(self,vocab_size,embed_size,num_hiddens,num_layers,dropout=0,**kwargs):super(Seq2SeqEncoder,self).__init__(**kwargs)self.embedding = nn.Embedding(vocab_size,embed_size)self.rnn = nn.GRU(embed_size,num_hiddens,num_layers,dropout=dropout)def forward(self, X, *args):X = self.embedding(X)X = X.permute(1,0,2)output,state = self.rnn(X)return output,stateencoder = Seq2SeqEncoder(10,8,16,2)
encoder.eval()
X = torch.zeros((4,7),dtype=torch.long)
output,state = encoder(X)
print(output.shape)class Seq2SeqDecoder(d2l.Decoder):def __init__(self,vocab_size,embed_size,num_hiddens,num_layers,dropout=0,**kwargs):super(Seq2SeqDecoder,self).__init__(**kwargs)self.embedding = nn.Embedding(vocab_size,embed_size)self.rnn = nn.GRU(embed_size+num_hiddens,num_hiddens,num_layers,dropout=dropout)self.dense = nn.Linear(num_hiddens,vocab_size)def init_state(self, enc_outputs, *args):return enc_outputs[1]def farward(self,X,state):X = self.embedding(X).permute(1,0,2)context = state[-1].repeat(X.shape[0],1,1)X_and_context = torch.cat((X,context),2)output,state = self.rnn(X_and_context,state)output = self.dense(output).permute(1,0,2)return output,statedecoder = Seq2SeqDecoder(10,8,16,2)
print(decoder.eval())
state = decoder.init_state(encoder(X))
output,state = decoder(X,state)
print(output.shape)

在这里插入图片描述
原因是类Seq2SeqDecoder在继承d2l.Decoder类时,需要重写父类的方法,而我把forward写成了farward。因此,出现了报错。

在深度学习中,子类继承父类时,需要重写父类的方法。

相关文章:

出现raise NotImplementedError报错

在学习《动手学深度学习》时,实现下面代码时,报出raise NotImplementedError错误。 import collections import torch from d2l import torch as d2l import math from torch import nnclass Seq2SeqEncoder(d2l.Encoder):def __init__(self,vocab_size,…...

第一百二十二天学习记录:C++提高:STL-vector容器(上)(黑马教学视频)

vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新的空间,而是找更大的内…...

《Linux从练气到飞升》No.11 初识操作系统

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…...

什么是 XSS 攻击?

概念 XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cookie 等。 XSS 的本质是因为网站没有对恶意代码进行过滤,与正常的代码混合在一起了&…...

基于Spring Boot的招聘网站的设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频: 基于Spring Boot的招聘网站的设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java springboot框…...

中级课程——CSRF

文章目录 案例原理挖掘 案例 原理 挖掘 挖掘详情 首先就是对目标敏感部位进行抓包分析,比如修改信息、转账、添加信息等等。通常一个数据包HTTP请求头里边都会有一个Referer,这个需要特别去验证。比如放到Burpsuit Repeater里边去测试:去掉…...

面试热题(岛屿数量)

给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均…...

【WebRTC---源码篇】(二十四)GCC获取码率后的分配

RtpTransportControllerSend::PostUpdates 配置码率 GoogCcNetworkController::GetPacingRates pacing_factor_默认2.5。也就是说pacer发送报文的码率是探测码率的2.5倍。 PacerConfig GoogCcNetworkController::GetPacingRates(Timestamp at_time) const {// Pacing rate …...

数据可视化工具LightningChart .NET正式发布v10.5.1——拥有全新的3D新功能

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学…...

AWS认证SAA-C03每日一题

本题库由云计算狂魔微信公众号分享。 【SAA-C03助理级解决方案架构师认证】A company has a multi-tier application that runs six front-end web servers in an Amazon EC2 Auto Scaling group in a single Availability Zone behind an Application Load Balancer(ALB).A …...

ASP.NET Core MVC -- 将视图添加到 ASP.NET Core MVC 应用

Index页 右键单击“视图”文件夹,然后单击“添加”>>“新文件夹”,并将文件夹命名为“HelloWorld”。 右键单击“Views/HelloWorld”文件夹,然后单击“添加”>“新项”。 在“添加新项 - MvcMovie”对话框中: 在右上…...

基于R做宏基因组结果的PCoA分析

写在前面 因为公司给的PCA结果效果不佳,决定从中重新挑选部分样本进行再分析 步骤 表格结果预处理 在属水平genus参考原本结果已有的PCA图,尽可能挑选距离较远且聚团的样本 选取不同样本属水平的丰度数据,整理成逗号分隔的csv文件 代码…...

8.10 算法刷题【1道题】

8.10 算法刷题 22. 链表中环的入口结点(快慢指针) 22. 链表中环的入口结点(快慢指针) 原题链接 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x…...

Apache Maven:从构建到部署,一站式解决方案

目录 一、Maven介绍 1. Maven是什么? 2.Maven的作用? 二、Maven仓库介绍 2.1 库的分类 三、Maven安装与配置 3.1 Maven安装 3.2 Maven环境配置 3.3 仓库配置 四、Eclipse与Maven配置 五、Maven项目测试 5.1 新建Maven项目步骤及注意事项 5.…...

文章四:版本控制策略 - 穿越时光机:Git版本控制进阶技巧

开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun 概述 版本控制是Git的核心功能,它使得开发者可以记录代码的历史变更,并能够在不同版本…...

爬虫如何应对网站的反爬机制?如何查找user-agent对应的值

import requestsurl https://movie.douban.com/top250 response requests.get(url) # 查看结果 print(response)在requests使用一文中我们有讲到,当状态码不是200时表示爬虫不可用,也就是说我们获取不到网页源代码。但是我们还是可以挣扎一下&#xff…...

一个概率论例题引发的思考

浙江大学版《概率论与梳理统计》一书中的,第13章第1节例2如下: 这个解释和模型比较简单易懂。接下来,第2节的例2是一个关于此模型的题目: 在我自己的理解中,此题的解法跟上一个题目一样,第二级传输后&…...

司徒理财:8.11黄金最新走势分析早盘1914现价多

黄金昨日再次破位新低,但是下跌力度出现衰竭迹象,意味着本次下跌暂时告一段落,行情将会开启一波反弹,早盘1914现价直接多,先看反弹上涨!黄金从走势上看,日线上已经跌至前低附近,也是…...

请写一个非对称加密工具 示例包括完整的通信流程

非对称加密工具通常用于保护数据的机密性和身份验证。下面是一个简化的示例,展示了完整的通信流程,包括密钥生成、加密、解密和数字签名验证: import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.…...

近地面无人机植被定量遥感与生理参数反演技术

遥感(RS-Remote Sensing)——不接触物体本身,用传感器收集目标物的电磁波信息,经处理、分析后,识别目标物,揭示其几何、物理性质和相互关系及其变化规律的现代科学技术。 换言之,即是“遥远的感…...

GraphPad Prism 介绍是干啥的?安装教程

安装教程 安教和安包https://qqstone.top/blog/graphpad-prism-10.1.2 一、GraphPad Prism 是什么、用来干什么 GraphPad Prism 是专门面向生物医学、药学、生命科学、基础医学的科研统计与绘图软件,主打不用编程、操作简单、结果规范,是发表 SCI 论文…...

第一篇博客:从新开始学习C语言

这是我的第一篇博客,也算是从0开始了。不仅是写博客的起点,也是我下定决心以更加认真的态度学好编程语言的起点。大家好,我是一名来自双非学校大二的学生。虽然已经大二了但是仍有很多方面未接触过,很多东西还不懂。说从新开始学习…...

别再踩坑了!SQL Server数据类型那点事儿,看懂这篇少背三个锅蹬

从0构建WAV文件:读懂计算机文件的本质 虽然接触计算机有一段时间了,但是我的视野一直局限于一个较小的范围之内,往往只能看到于算法竞赛相关的内容,计算机各种文件在我看来十分复杂,认为构建他们并能达到目的是一件困难…...

归并排序力扣题(leetcode)何

1.概述在人工智能快速发展的今天,AI不再仅仅是回答问题的聊天机器人,而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理,能够在用户的机器上安全高效地生成高质量的软件变…...

Swup滚动管理完全指南:页面切换时的智能定位技术终极教程

Swup滚动管理完全指南:页面切换时的智能定位技术终极教程 【免费下载链接】swup Versatile and extensible page transition library for server-rendered websites 🎉 项目地址: https://gitcode.com/gh_mirrors/sw/swup Swup是一款功能强大且可…...

【ComfyUI】Qwen-Image-Edit-F2P 在Unity数字人中的应用:驱动3D角色面部表情生成

ComfyUI Qwen-Image-Edit-F2P 在Unity数字人中的应用:驱动3D角色面部表情生成 1. 引言:当AI绘画遇上3D表情动画 想象一下,你正在开发一款游戏或者制作一个虚拟偶像,角色需要做出成百上千种表情——开心的、悲伤的、惊讶的、愤怒…...

Node.js C++插件开发完全指南:从Hello World到高级异步编程

Node.js C插件开发完全指南:从Hello World到高级异步编程 【免费下载链接】node-addon-examples Node.js C addon examples from http://nodejs.org/docs/latest/api/addons.html 项目地址: https://gitcode.com/gh_mirrors/no/node-addon-examples Node.js …...

打破B站字幕提取壁垒:BiliBiliCCSubtitle如何重构视频文字信息获取范式

打破B站字幕提取壁垒:BiliBiliCCSubtitle如何重构视频文字信息获取范式 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 在信息爆炸的视频时代&#xf…...

从办公室到车间:给IT网管的Profinet入门避坑指南(含VLAN与安全配置)

从办公室到车间:IT工程师的Profinet工业网络融合实战手册 当IT工程师第一次踏入嘈杂的工厂车间,面对那些闪烁着信号灯的PLC和伺服驱动器时,往往会感到一丝无所适从。这就像一位习惯在城市道路驾驶的司机,突然被要求操作一架喷气式…...

10个提升性能的技巧:msgpack Golang最佳实践

10个提升性能的技巧:msgpack Golang最佳实践 【免费下载链接】msgpack msgpack.org[Go] MessagePack encoding for Golang 项目地址: https://gitcode.com/gh_mirrors/msg/msgpack msgpack Golang是一款高效的MessagePack编码库,为Go语言开发者提…...