一般来说存在两个问题,1.权限上 2.源码上
1.权限:permission上的报错
直接讲,权限出现问题显示如下
或者你在下载一些东西时会遇到permission上的报错
直接上链接(54条消息) PermissionError: [WinError 5] 拒绝访问。: ‘../data‘_WZWWZW0430的博客-CSDN博客
很多人直接是对Windows上的各种操作,如果你看过其它博客试过就知道没有用
我认为这样做有用的原因是在于用什么权限操作,管理员的权限当然高了
我也看见上述引用博客的评论下面有人不知道怎么操作
下面手把手演示
Windows熟系的页面
既然你会报错,肯定知道怎么用jupyter notebook对吧,不知道就自己查一查
下面最关键的来了,不是直接启动jupyter notebook而是 右键jupyter notebook,不要点错了
熟系的cmd就会出来,
再试着跑一下代码,应该不会出现permission报错了
当然有些人 是用cmd 命令行输入jupyter notebook启动的,我不知道能不能实现,你可以尝试用管理员启动cmd试一下(我的好像不太行,但是我不确定你们可不可以)
2.源码上(举个例子,并不是代表所有,'gbk' codec can't decode byte 0xaf )
看完你就知道该怎么弄了
什么叫源码上,就是这个代码在你电脑上跑就是有问题
我在学李沐老师的动手学深度学习时,他会先手动实现一些常用的基础源码,然后后面的课程就是直接调包了,常常遇到前面手动敲得代码能跑但是掉包的跑不了
其实就是源码有一点小问题,比如
'gbk' codec can't decode byte 0xaf in position 33: illegal multibyte sequence
是不是又似曾相识,别担心,其实你已经上网查过,大概如下
open(data_path,"r",encoding='UTF-8')在open函数里面加上编码格式encoding='UTF-8'
这样做,没有错!!!
但是你不知道在哪里改,总不能每次都去实现一次基本的源码,然后复制粘贴上去,
咱们来一个一劳永逸的操作!!!!
我们都是去调用d2l里面的方法对吧,所以我们应该找到d2l在哪里,就算你不知道也没关系
你知道自己的anaconda装在哪里的吧,我的是装在 anacondaAAA文件夹里面的,
估计大多数人是装在anaconda文件夹,这个是没关系的
如你不想看后面: 直接找到D:\anacondaAAA\Lib\site-packages\d2l\torch.py
但是如果你想学习这种方法,或许你可以看一下下面
直接搜索,上图(你不知道在哪里就试着查找一下)
我搜索出来了两个文件,是下面这个
废话少说,点进去,我用的是pytorch,听李沐老师课的应该都是torch
如果你用的是其它的理论上应该是一样的
点进去第一眼非常陌生,
不慌,往下面划一下,
只要你听过课就知道这些方法是李沐老师书上的,熟悉吧,现在知道怎么改了吧
这篇文章的价值,不是在于怎么解决这两个问题,
或许很多时候你知道你知道怎么改代码,但是不知道该怎么找到你以前调的包在哪里!!!
这样很无奈
我相信,
你在听动手学深度学习课程的时候,常常很多东西报错,
代码的问题都是解决了,但是一点d2l.的某些方法就报错,
那就找到它的源码!!!
发挥你的想象力!!1
希望对你会有帮助!!!