我写了一个脚本来打开、读取和返回保存在本地机器上的.npy文件中的numpy数组。我以前已经这样做过很多次了,但是由于某种原因,我的脚本这次似乎挂在了return语句上。它打开,读取,并关闭npy文件,将其保存在局部变量中,但是当函数应该返回数组时,它只是挂起,我必须关闭程序。我已经通过在VSCode中进行调试并逐行检查来验证它是否会在return语句上挂起。
if label == 0 or label == 1:
print('Opening Label 1 arrays..')
with open(f'npys\\labels\\label1.npy', 'rb') as f:
label1 = np.load(f)
if label == 1:
return label1
if label == 0 or label == 2:
print('Opening Label 2 centroid arrays..')
with open(f'npys\\labels\\label2.npy', 'rb') as f:
label2 = np.load(f)
if label == 2:
return label2
if label == 0 or label == 3:
print('Opening Label 3 arrays..')
with open(f'npys\\labels\\label3.npy', 'rb') as f:
label3 = np.load(f)
if label == 3:
return label3
if label == 0 or label == 4:
print('Opening Label 4 arrays..')
with open(f'npys\\labels\\label4.npy', 'rb') as f:
label4 = np.load(f)
if label == 4:
return label4
return label1, label2, label3, label4
说实话我不知道该怎么办我已经改变了变量,但仅此而已。任何帮助将不胜感激。
1条答案
按热度按时间5m1hhzi41#
解决了!这段代码没有问题,调用这个函数的那一行有问题!
所以基本上我试图获取标签并将它们分成块,挂起的行如下:
我通过将其更改为以下内容来解决这个问题:
由于np.split返回一个np数组的列表,我想这个异构的列表会让pytorch出错,并且需要一段时间才能将其转换为Tensor。