吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 719|回复: 2
收起左侧

[其他求助] tensorflow和nunpy换版本后,代码显示数组报错。

[复制链接]
新新叶 发表于 2024-4-3 11:14
50吾爱币
我用cuda10.1、tensorflow2.3.1以及numpy1.18.5这个环境可以正常运行,但当我升级RTX4060显卡后,所适配的最低版本cuda为11.2,为了与之对应,tensorflow升级为2.10.0,numpy升级为1.21.5,环境改变后,再次运行main.py代码出现报错

具体代码是一个github上的一个项目:https://github.com/callistachang/CZ4042-CycleGAN-Music-Transfer

(备注:如果我用10或20系的显卡是能运行的,换成4060后就跑不了,两者就改了cuda,tensorflow,numpy的版本,之前显卡算力不够用,所以升级到40系显卡)

具体报错如下:
D:\Anaconda\000\envs\yy009\python.exe F:\code_test\yy009\CZ4042-CycleGAN-Music-Transfer-master\main.py --dataset_A_dir=JC_J --dataset_B_dir=JC_C --phase=train --type=cyclegan --sigma_d=0
2024-04-02 17:19:12.515858: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-04-02 17:19:13.145064: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1616] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 5449 MB memory:  -> device: 0, name: NVIDIA GeForce RTX 4060, pci bus id: 0000:01:00.0, compute capability: 8.9
Built model.
Initialized model.
Training start...
Traceback (most recent call last):
  File "F:\code_test\yy009\CZ4042-CycleGAN-Music-Transfer-master\main.py", line 180, in <module>
    model.train(args) if args.phase == "train" else model.test(args)
  File "F:\code_test\yy009\CZ4042-CycleGAN-Music-Transfer-master\CycleGAN.py", line 253, in train
    fake_B = self.generator_A2B(real_A, training=True)
  File "D:\Anaconda\000\envs\yy009\lib\site-packages\keras\utils\traceback_utils.py", line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "D:\Anaconda\000\envs\yy009\lib\site-packages\keras\engine\input_spec.py", line 296, in assert_input_compatibility
    f'Input {input_index} of layer "{layer_name}" is '
ValueError: Input 0 of layer "Generator_A2B" is incompatible with the layer: expected shape=(None, 64, 1, 1), found shape=(4, 64, 84, 1)

进程已结束,退出代码为 1


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ihjun 发表于 2024-4-3 20:28
最后一行不是有提示吗,ValueError: Input 0 of layer "Generator_A2B" is incompatible with the layer: expected shape=(None, 64, 1, 1), found shape=(4, 64, 84, 1)
希望的输入array的shape是(None, 64, 1, 1),但是你输入的是(4, 64, 84, 1)
可能你这输入的batch是4,但是里面要求的输入却是None,这个要看下具体的函数格式

主要看一下 self.generator_A2B(real_A, training=True)这个函数的输入数据情况
 楼主| 新新叶 发表于 2024-4-5 15:45
ihjun 发表于 2024-4-3 20:28
最后一行不是有提示吗,ValueError: Input 0 of layer "Generator_A2B" is incompatible with the layer: e ...

我知道他有提示,shape的None指的是无视输入结果,就算说可以任意输入数值,所以None对4是没问题的。
而后面的1对84这里有问题,但84是指我输入的音符的范围,这个值固定为84的,也没有问题,但报错就在这里,应该考虑到Generator_A2B的输入参数设置错了。
可当我使用旧显卡、低版本tensorflow、低版本numpy就没有报错,应该考虑是numpy版本的问题才是。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 18:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表