关于#@save的使用

为何我在自己的代码中的新建函数前使用#@save,新建的函数不能保存到d2l包中?我们使用#@save标签的目的不就是方便将新建的函数加入d2l包中吗?如果不能用它为d2l包增加内容,这个标签岂不是失去了存在的意义?
哪位大咖能解答一下吗(我用的python3.8+pytorch1.10+d2l 0.17.1)?

测试代码大体是这样的:

#@save
def mycode(a,b):
return a+b

@save 应该是个装饰器吧,需要把# 去掉。

试试这样写:

@save
def mycode(a, b):
    return a + b

这个不是写死的吗,我的理解是他在notebook里面用#@save标记的这些函数,是包含在d2l里面的,不用自己再搓了,#@save只是告诉你这个在d2l里面可以直接调用。

1 Like

#@save和普通注释在功能上没有什么区别,不能够将写好的代码自动保存到d2l库当中。#@save就是告诉你这个函数我们已经在d2l当中定义好了,你可以以后直接调用,不用自己每次重新写了,起到一个标识的作用。

1 Like

你好,我的d2l包里老是缺函数,每次都得自己把前面的函数复制粘贴过来用,学到语言模型这块发现居然连load_data_time_machine也没有,函数复制过来居然告诉我没有timemachine这个关键词,好生折腾。。。所以想请问一下这正常嘛

1 Like

我遇到的问题类似,同求一个能用的解决方案 :thinking: