Tensorflow推理时遇见PTX错误,安装CUDA及CuDNN, 解决问题!

发布于:2025-06-25 ⋅ 阅读:(23) ⋅ 点赞:(0)

问题原因:
使用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

问题成功解决!










 


网站公告

今日签到

点亮在社区的每一天
去签到