我收到了错误,
ValueError:无法将大小为0的数组重塑为形状(1,256,256,6)。
我在 main.py
中编写了代码PYTHONPATH
在 models.py
中parser.add_argument('--checkpoint_dir', dest='checkpoint_dir', default='./checkpoint', help='models are saved here')
parser.add_argument('--sample_dir', dest='sample_dir', default='./sample', help='sample are saved here')
parser.add_argument('--test_dir', dest='test_dir', default='./test', help='test sample are saved here')
parser.add_argument('--L1_lambda', dest='L1_lambda', type=float, default=10.0, help='weight on L1 term in objective')
parser.add_argument('--use_resnet', dest='use_resnet', type=bool, default=True, help='generation network using reidule block')
parser.add_argument('--use_lsgan', dest='use_lsgan', type=bool, default=True, help='gan loss defined in lsgan')
parser.add_argument('--max_size', dest='max_size', type=int, default=50, help='max size of image pool, 0 means do not use image pool')
args = parser.parse_args()
def main(_):
if not os.path.exists(args.checkpoint_dir):
os.makedirs(args.checkpoint_dir)
if not os.path.exists(args.sample_dir):
os.makedirs(args.sample_dir)
if not os.path.exists(args.test_dir):
os.makedirs(args.test_dir)
tfconfig = tf.ConfigProto(allow_soft_placement=True)
tfconfig.gpu_options.allow_growth = True
with tf.Session(config=tfconfig) as sess:
model = cyclegan(sess, args)
model.train(args) if args.phase == 'train' \
else model.test(args)
if __name__ == '__main__':
tf.app.run()
Traceback说
Traceback(最近一次调用最后一次):文件“main.py”,第53行,in tf.app.run()文件“/home/ml/.pyenv/versions/3.5.2/lib/python3.5/site-packages/tensorflow/python/platform/app.py”, 第44行,在运行中 _sys.exit(main(_sys.argv [:1] + flags_passthrough))文件“main.py”,第49行,主要 model.train(args)if args.phase =='train'\ File“/home/ml/learning/pix2pix/CycleGAN-tensorflow/model.py”,第176行,in 培养 self.sample_model(args.sample_dir,epoch,idx)文件“/home/ml/learning/pix2pix/CycleGAN-tensorflow/model.py”,第215行,in sample_model sample_images = array(sample_images).reshape(1,256,256,6)ValueError:无法将大小为0的数组重塑为形状(1,256,256,6)
在此之前我遇到了重塑错误,所以我在下面添加了代码
def sample_model(self, sample_dir, epoch, idx):
dataA = glob('./datasets/{}/*.*'.format(self.dataset_dir + '/testA'))
dataB = glob('./datasets/{}/*.*'.format(self.dataset_dir + '/testB'))
np.random.shuffle(dataA)
np.random.shuffle(dataB)
batch_files = list(zip(dataA[:self.batch_size], dataB[:self.batch_size]))
sample_images = [load_train_data(batch_file, is_testing=True) for batch_file in batch_files]
sample_images = np.array(sample_images).astype(np.float32)
sample_images = array(sample_images).reshape(1, 256, 256, 6)
fake_A, fake_B = self.sess.run(
[self.fake_A, self.fake_B],
feed_dict={self.real_data: sample_images}
)
save_images(fake_A, [self.batch_size, 1],
'./{}/A_{:02d}_{:04d}.jpg'.format(sample_dir, epoch, idx))
save_images(fake_B, [self.batch_size, 1],
'./{}/B_{:02d}_{:04d}.jpg'.format(sample_dir, epoch, idx))
但是现在我被告知大小0导致错误。我真的不明白为什么会发生这种错误。我不认为0大小的图像在文件夹中。我该怎么解决这个问题?我的代码有什么问题?文件夹中的任何图像大小为0吗?