这个冒号是什么意思?

时间:2019-10-24 07:25:15

标签: python tensorflow keras

我使用 tensorflow 学习了深度学习。

在github上研究代码时,我看到了一个未知的:

我进行了各种搜索,但错误出现在以下部分中,我无法解决错误。

我不知道此错误是不返回浮点数还是:问题。

   return self.test_images_name[(batch_num % ro_num) * batch_size: (batch_num % ro_num + 1) * batch_size], \
               self.test_eye_pos_name[(batch_num % ro_num) * batch_size: (batch_num % ro_num + 1) * batch_size], \
               self.test_ref_images_name[(batch_num % ro_num) * batch_size: (batch_num % ro_num + 1) * batch_size], \
               self.test_ref_pos_name[(batch_num % ro_num) * batch_size: (batch_num % ro_num + 1) * batch_size]

错误消息

  

文件   “ C:\ Users \ admin \ Desktop \ Exemplar-GAN-Eye-Inpainting-Tensorflow-master \ Exemplar-GAN-Eye-Inpainting-Tensorflow-master \ ExemplarGAN.py”,第154行,在火车上       train_data_list,batch_eye_pos,batch_train_ex_list,batch_ex_eye_pos = self.data_ob.getNextBatch(step2,self.batch_size)   TypeError:“ NoneType”对象不可迭代

1 个答案:

答案 0 :(得分:3)

这是slice operator应用于列表的原因,因为长名,而且冒号后面还有一个空格,所以看起来很奇怪。如果您简化一点,那就是:

i = (batch_num % ro_num) * batch_size
j = (batch_num % ro_num + 1) * batch_size

return self.test_images_name[i:j], \
       self.test_eye_pos_name[i:j], \
       self.test_ref_images_name[i:j], \
       self.test_ref_pos_name[i:j]

显然,其中之一是“无”,因此您无法对其进行索引或切片。