怎么解决吴恩达机器学习中jupyter notebook中“deeplearning.mplstyle”找不到的问题

问题遇到的现象和发生背景

img

img

img

这是我在学习机器学习时,使用吴恩达团队的代码,问题就在于我一直没解决这个“找不到deeplearning.mplstyle”的问题,试过网上的一些方法也把该风格放到过matplotlib下面的style文件夹当中但是没有解决。
但我发现我把这些代码文件以及风格放在同一文件下,pycharm却没有报错,并且“deeplearning.mplstyle”在第一张图中显示为绿色代码块,说明pycharm是能找到该文件的,但jupyter notebook却找不到(jupyter和pycharm在我的截图当中使用的同一路径下的解释器)

补充:我的第一张截图中pycharm的项目是在G盘,在该项目中可以看第三张
截图使用“deeplearning.mplstyle”的路径在C盘具体路径请看截图

操作环境、软件版本等信息

python3.9
jupyter notebook 6.5.4

这可能是因为Jupyter Notebook的工作目录与您的代码文件所在的目录不同。

您可以尝试以下方法解决问题:

  1. 在Jupyter Notebook中使用os模块获取当前工作目录,并确保它与您的代码文件所在的目录相同。您可以使用以下代码来检查当前工作目录:
import os
print(os.getcwd())
  1. 如果当前工作目录与代码文件所在的目录不同,您可以使用os.chdir()函数更改工作目录。例如,如果代码文件和deeplearning.mplstyle文件都在/path/to/files/目录下,您可以使用以下代码更改工作目录:
import os
os.chdir('/path/to/files/')
  1. 如果您仍然无法解决问题,您可以尝试将deeplearning.mplstyle文件的绝对路径直接传递给matplotlib,而不依赖于工作目录。例如:
import matplotlib.pyplot as plt
plt.style.use('/path/to/files/deeplearning.mplstyle')

请确保将/path/to/files/替换为deeplearning.mplstyle文件的实际路径。

希望这些方法能够帮助您解决问题。

参考gpt:
结合自己分析给你如下建议:
1.deeplearning.mplstyle是一个用于设置matplotlib绘图风格的文件,它需要和你的代码文件放在同一个文件夹下,或者指定它的相对路径。如果你把它放在matplotlib的style文件夹下,也需要重启jupyter notebook才能生效。
2.如果你使用了plt.style.use (‘./deeplearning.mplstyle’)这样的命令,可能会出现找不到文件的错误,因为jupyter notebook的工作目录可能和你的代码文件不一致。你可以使用os.getcwd()来查看当前的工作目录,然后根据实际情况修改plt.style.use的参数,或者使用os.chdir()来切换工作目录。
3.如果你使用了pycharm,可能会发现它能够正常找到deeplearning.mplstyle文件,这是因为pycharm会自动将当前文件所在的目录作为工作目录。你可以在pycharm的设置中查看或修改工作目录。

环境问题,over

如果在PyCharm中能够找到"deeplearning.mplstyle"文件,但在Jupyter Notebook中找不到,这可能是因为Jupyter Notebook的工作目录与PyCharm的工作目录不同。Jupyter Notebook的工作目录通常是启动Notebook时所在的文件夹,而PyCharm的工作目录则取决于项目设置。

为了解决这个问题,您可以尝试以下方法:

  1. 显示Jupyter Notebook当前工作目录:在Jupyter Notebook中运行以下代码,查看当前的工作目录:
import os
print(os.getcwd())

确保"deeplearning.mplstyle"文件位于该路径下。

  1. 将文件复制到Jupyter Notebook的工作目录:将"deeplearning.mplstyle"文件复制到Jupyter Notebook所在的文件夹,确保与Jupyter Notebook的工作目录保持一致。

  2. 设置Jupyter Notebook的工作目录:在Jupyter Notebook中,您可以使用以下代码将工作目录切换到"deeplearning.mplstyle"所在的文件夹:

import os
os.chdir("/path/to/folder")

其中,"/path/to/folder"是"deeplearning.mplstyle"文件所在的完整路径。通过这种方式,Jupyter Notebook将会在指定的文件夹下查找样式文件。

  1. 使用绝对路径加载样式文件:在Jupyter Notebook中,您可以尝试使用绝对路径加载样式文件,即使它不在Jupyter Notebook的当前工作目录中。例如:
import matplotlib.pyplot as plt
plt.style.use("/path/to/folder/deeplearning.mplstyle")

这将确保样式文件能够被正确加载。

请根据上述方法之一尝试解决问题。如果问题仍然存在,请确保文件路径和文件名的拼写正确,并检查文件权限等其他因素。如果仍然无法解决,请考虑重新安装Jupyter Notebook或尝试在其他Jupyter Notebook环境中运行代码,确保没有其他配置问题导致文件找不到。

【以下回答由 GPT 生成】

问题分析: 根据问题描述,目前你遇到的问题是在使用jupyter notebook运行代码时找不到"deeplearning.mplstyle"文件,尽管你尝试将该文件放在matplotlib的style文件夹中。然而,在PyCharm中运行相同的代码文件时,却没有出现错误并且"deeplearning.mplstyle"的效果正确显示在第一张图中。由此可以推测,问题可能是由于jupyter notebook无法正确找到"deeplearning.mplstyle"文件导致的。

解决方案: 为了解决在jupyter notebook中找不到"deeplearning.mplstyle"的问题,可以尝试以下几个步骤:

步骤 1: 确保deeplearning.mplstyle文件位于正确的路径下 首先,再次确保"deeplearning.mplstyle"文件已经正确地放置在matplotlib的style文件夹中。可以使用以下代码验证该文件是否存在于指定路径。

import matplotlib
print(matplotlib.get_configdir())

运行上述代码后,会输出matplotlib的配置文件夹的路径。进入该路径,检查是否存在名为"deeplearning.mplstyle"的文件。

步骤 2: 确保matplotlib正确加载"deeplearning.mplstyle" 接下来,需要确保matplotlib正确加载了"deeplearning.mplstyle"文件。在jupyter notebook中运行下面的代码片段,以验证是否能正确地应用"deeplearning.mplstyle"样式。

import matplotlib.pyplot as plt
plt.style.available

上述代码将输出matplotlib可用的所有样式列表。确保其中包含"deeplearning"这个样式。如果列表中没有该样式,可能需要重新检查"deeplearning.mplstyle"文件是否与matplotlib的样式文件兼容。

步骤 3: 确认jupyter notebook使用正确的Python环境 再次确认jupyter notebook正在使用与PyCharm相同的Python解释器。可以执行以下代码来验证Python解释器的路径:

import sys
sys.executable

确保此路径与PyCharm中使用的解释器路径相同。如果不同,可能需要在jupyter notebook中切换到正确的Python环境。

如果上述步骤都已经尝试过,但问题仍然存在,或者你遇到了其他困难,请告诉我,我将竭诚为你解答。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^