- 系统环境:WIN10-WSL2-Ubuntu22.04
- 语言环境:Python3.9.18
- 编译器:vscode+jupyter notebook
- 深度学习环境:Pytorch2.1.2
- 显卡:NVIDIA GeForce RTX 2080
直接原代码用Linux系统跑的话,在读取阶段会出现一个小报错:
{
"name": "IndexError",
"message": "list index out of range",
"stack": "---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
Cell In[2], line 7
4 data_dir = pathlib.Path(data_dir)
6 data_paths = list(data_dir.glob('*'))
----> 7 classeNames = [str(path).split(\"\\\\\")[1] for path in data_paths]
8 classeNames
Cell In[2], line 7, in <listcomp>(.0)
4 data_dir = pathlib.Path(data_dir)
6 data_paths = list(data_dir.glob('*'))
----> 7 classeNames = [str(path).split(\"\\\\\")[1] for path in data_paths]
8 classeNames
IndexError: list index out of range"
}
原因是Linux的路径用'/'分隔,而不是'\\'
改为:
classeNames = [str(path).split("/")[1] for path in data_paths]
就可运行成功:
['cloudy', 'shine', 'sunrise', 'rain']
后续都可以一键运行,最终结果为:
感想
pytorch和tensorflow的代码差别有点大,还得再看看,这周太忙了。。。