问题原因:
使用TensorFlow一个小模型是进行推理的时候,报了PTX错误:
Traceback (most recent call last): 20273 2025-06-18 10:20:38.345 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : File "/home/python/common/image_quality_predict.py", line 91, in main 20274 2025-06-18 10:20:38.346 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : nima.build() 20275 2025-06-18 10:20:38.346 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : File "/home/python/common/image_quality_model_builder.py", line 40, in build 20276 2025-06-18 10:20:38.346 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : self.base_model = BaseCnn(input_shape=(224, 224, 3), weights=self.weights, in clude_top=False, pooling='avg') 20277 2025-06-18 10:20:38.346 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : File "/root/anaconda3/envs/llm_data_process/lib/python3.10/site-packages/keras/ src/applications/mobilenet.py", line 192, in MobileNet 20278 2025-06-18 10:20:38.346 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : x = _conv_block(img_input, 32, alpha, strides=(2, 2)) 20279 2025-06-18 10:20:38.346 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : File "/root/anaconda3/envs/llm_data_process/lib/python3.10/site-packages/keras/ src/applications/mobilenet.py", line 320, in _conv_block 20280 2025-06-18 10:20:38.346 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : x = layers.Conv2D( 20281 2025-06-18 10:20:38.346 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : File "/root/anaconda3/envs/llm_data_process/lib/python3.10/site-packages/keras/ src/utils/traceback_utils.py", line 122, in error_handler 20282 2025-06-18 10:20:38.347 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : raise e.with_traceback(filtered_tb) from None 20283 2025-06-18 10:20:38.347 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : File "/root/anaconda3/envs/llm_data_process/lib/python3.10/site-packages/keras/ src/backend/tensorflow/random.py", line 19, in _cast_seed 20284 2025-06-18 10:20:38.347 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : seed = tf.cast(tf.math.floormod(seed, tf.int32.max - 1), dtype="int32") 20285 2025-06-18 10:20:38.347 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : tensorflow.python.framework.errors_impl.InternalError: {{function_node __wrapped_ _FloorMod_device_/job:localhost/replica:0/task:0/device:GPU:0}} 'cuLaunchKernel(function, gridX, gridY, gridZ, blockX, blockY, blockZ, 0, reinterpret_cast<CUstream>(stream), params, nullptr)' failed with 'CUDA_ERROR_INVALID_HANDLE' [Op:FloorMod] name:
查找错误原因是:
驱动和 CUDA/cuDNN 版本不兼容 。
当前系统里只有cuda驱动没有安装CUDA、CuDNN。
因为牵涉到要尽量兼容其他机器的CUDA版本,就安装了当前这台机器支持的最高版本12.2。
安装CUDA12.2:
找到对应版本
CUDA Toolkit Archive | NVIDIA Developer
选择对应操作系统
CUDA Toolkit 12.2 Downloads | NVIDIA Developer
安装过程:
这里输入accept:
因为已经安装过 Nvidia 显卡驱动了,因此不需要再安装了。如果你尚未安装驱动,可以顺便一起安装了。摁一下空格取消 Driver 安装,直接选择 Install 安装:
安装成功:
安装Cuda12编译所需的CuDNN版本9.3.0:
pip install nvidia-cudnn-cu12==9.3.0.75
问题成功解决!