zoukankan      html  css  js  c++  java
  • Error : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize

    记录一下:

    报错:# Error : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above 
    

      

    由于我用的是Flask框,在各个py文件之间相互引用、调用的过程中,可能会存在文件、模块先后顺序的问题,导致一系列的问题;

    因为我需要在flask框架中全局加载一次模型,进行多次预测,所以在框架初始化的时候,就需要load_model,之后在接口中进行预测,这就可能会导致一个问题是:是否能够保持模型和预测内容在一个会话中。

    从网上查找了一些方法之后,如果没有解耦,直接在一个视图函数中完成一系列的操作(不推荐,新手可能会这样),会避免这个错误,从而实现预测,但是当解耦了之后,就会存在上述说的一些问题,以及上面的报错。

    上面的报错解决方法是:

    # 添加内容:
    config.gpu_options.allow_growth = True
    # 最后代码类似这样的:
    
    config = tf.ConfigProto()
    config.gpu_options.allow_growth = True
    config.gpu_options.per_process_gpu_memory_fraction = 0.4
    session = tf.Session(config=config)
    with session.as_default():
        x1, x2, model_name = AnalysisData().analysis_config_json()
        model = load_model(model_name)
        a = model.predict((np.random.random((1, 32, 32, 3)) * 255).astype(np.int8))
    

      

    这样即解决了我上述的报错问题。

  • 相关阅读:
    算法_二叉查找树
    Java编程思想学习笔记_2(继承和多态)
    算法_符号表
    算法_优先队列
    算法_快速排序
    Java编程思想学习笔记_1(Java内存和垃圾回收)
    map 与 lambda 的用法
    优化版九九乘法表
    low版九九乘法表
    python3爬虫lxml模块的安装
  • 原文地址:https://www.cnblogs.com/aidenzdly/p/11804675.html
Copyright © 2011-2022 走看看