各种错误2

一.天池 上传tsv文件时报错 ERROR Bad input file

原因:
提交结果文件result.tsv中的行数与测试文件test.tsv中行数不相同导致的。
代码处:
//意思是,每迭代一次结果,加一次数据
with open(f'./results/{RES}','a+') as fp:

解决方法:加一行代码

   def evaluate(self, model, data, mode = 'valid'):
        hits = []
        ranks = []
        for i in range(10):
            hits.append([])

        test_data_idxs = self.get_data_idxs(data)
        er_vocab = self.get_er_vocab(self.get_data_idxs(d.data))

        print("Number of data points: %d" % len(test_data_idxs))
        ######这里做一个清空上一次验证结果的代码
        open(f'./results/{RES}','w').close()

二.AssertionError: Torch not compiled with CUDA enabled

今天启用Pycharm运行项目的时候又爆了这个错误,明明之前cmd和anaconda里检验cuda是否可用结果都是true,结果发现还是有问题,因为要运行sh文件,同时也要激活pytorch环境,所以按理说有两种方法,
一种是在git终端里激活pytorch,然后运行sh文件;
另一种是把git的bin目录配置到系统变量的path里,然后在windows命令行运行sh文件。
我采用了后一种,具体做法如下:

image-20220726194205802

image-20220726194256971

如果是下载的torch没有cuda,可以用另一种解决方法,即:
在程序最开始的地方加上:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
代码其余地方出现.cuda()的地方改成.to(device)就可以在无gpu的环境中运行了

image-20220726194626493

三.[Errno 2] No such file or directory: 'data\\OpenBG-IMG\\openbg_vit_best_img_vec.pickle'

 绝对路径是指文件在硬盘上真正存在的路径。例如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”目录下,那么 “bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg"。那么如果要使用绝对路径指定网页的背景图片就应该使用 以下语句:

<body backround="E:\book\网页布局\代码\第2章\bg.jpg" > 

在 相对路径里常使用“../”来表示上一级目录。如果有多个上一级目录,可以使用多个“../”。假设 “s1.html”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网页布局\代码”,那 么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里,则引用图片的语句应该为:

      <body background="../bg.jpg">  

相对虚拟目录,有关相对路径还有一个比较特殊的表示:“相对虚拟目录”。请看下面的例子:

      <body background="/img/bg.jpg"> 

在这个例子里,background属性的值为“/img/bg.jpg”,注意在“img”前有一个“/”字符。这个“/”代表的是虚拟目录的根目录. 假设把“E:\book\网页布局\代码”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页布局\代码\img \bg.jpg”

"./":代表目前所在的目录。
"../":代表上一层目录。
"/":代表根目录。
详细说明:https://blog.csdn.net/Young__Fan/article/details/80152501

修改对应的目录就好了

四.RuntimeError: CUDA out of memory. Tried to allocate 78.00 MiB (GPU 0; 4.00 GiB total capacity; 3.31 GiB already allocated; 0 bytes free; 3.48 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting ma
x_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

运行时错误:CUDA 内存不足。 尝试分配 78.00 MiB(GPU 0;4.00 GiB 总容量;3.31 GiB 已分配;0 字节空闲;PyTorch 总共保留 3.48 GiB)如果保留的内存是 >> 分配的内存,请尝试设置 max_split_size_mb 以避免碎片。 请参阅内存管理和 PYTORCH_CUDA_ALLOC_CONF 的文档。

最好的解决办法:换个内存大的。
或者减小批量大小。

五.pycharm运行sh文件,提示g++: command not found

git-bash是一个mingw64环境,shell为bash,基本就和linux一样了,但它没有携带gcc和make等程序。

这两个开发工具都是常用工具,必然是要协同使用的,那我们来给git-bash加上gcc和make。

从http://www.equation.com/servlet/equation.cmd?fa=fortra 下载gcc套件,gcc套件内包含make,所以一并就装了这俩。解压gcc套件,比如默认按照在了个人账户目录内为 C:\Users\renwei\gcc ,那好,打开这个文件
C:\Program Files\Git\etc\profile.d\env.sh
添加一行:
export PATH="$HOME/gcc/bin:$PATH"
再次打开git-bash,gcc套件内工具就能使用了,make自然包括。
因为之前已经把git的bash的exe文件路径添加到系统变量里了,所以问题解决。

猜你喜欢

转载自blog.csdn.net/steven_bingo/article/details/126093307