小编tut*_*eri的帖子

错误“Keras 需要 TensorFlow 2.2 或更高版本”

我刚刚安装了 Visual Studio 2019 和 Tensorflow,但我无法导入 Keras,因为我收到以下错误消息:

Keras 需要 TensorFlow 2.2 或更高版本。通过以下方式安装 TensorFlowpip install tensorflow

问题是我别无选择,只能安装 Tensorflow 1.15,因为我有以下设置:

  • 视觉工作室 2019
  • 蟒蛇 3.7
  • CPU i7 920(没有avs,只有SSE)
  • 操作系统 Windows 7 64
  • 英伟达图形处理器
  • CUDA 10.1

我必须为该 Python 版本、我的 CPU 和名为“tensorflow-1.15.0-cp37-cp37m-win_amd64”的 CUDA 版本下载并安装一个轮子。

Tensorflow 似乎可以工作(它检测到我的 GPU 并打印“hello world”消息),但问题是 Visual Studio 安装了最新版本的 Keras。

如何指定较旧的兼容版本,新版本兼容什么?

visual-studio keras

34
推荐指数
2
解决办法
9万
查看次数

Numba 编译时间呈指数级爆炸 - 可以像 ac 编译器一样配置优化级别吗?

这段代码实现了排序网络,我正在尝试使用 Numba 来编译它们以提高性能。然而,每个函数的编译时间呈指数增长。总共有大约 60 个函数(下面仅显示 19 个示例),Numba 在太阳经历红巨星膨胀之前无法完成编译它们。

我怀疑问题在于 Numba 尝试在编译期间应用 -O2 等激进的优化标志,从而导致过度的复杂性和处理时间。

编辑:我发现 numba从环境变量 NUMBA_OPT 中获取他的优化级别,所以我将其设置0

import os
os.environ["NUMBA_OPT"] = "0"
Run Code Online (Sandbox Code Playgroud)

但它什么也没做。

有没有办法指示 Numba 简单地生成这些函数的汇编代码,而不尝试进一步优化?或者有其他方法可以编译它吗?

import numba as nb
import numpy as np

# This function calculates the min and the max of his parameters.
@nb.njit(nb.types.UniTuple(nb.uint64, 2)(nb.uint64, nb.uint64),fastmath=True,inline='always')
def m(a: np.uint64, b: np.uint64) -> (np.uint64, np.uint64):
    return min(a, b), max(a, b)

@nb.njit(nb.uint64[:](nb.uint64[:]),fastmath=True)
def sort_small_array_1(a: 'np.ndarray[np.uint64]') -> 'np.ndarray[np.uint64]':
    return a

print('Defining function 2')
@nb.njit(nb.uint64[:](nb.uint64[:]),fastmath=True) …
Run Code Online (Sandbox Code Playgroud)

optimization compilation python-3.x numba sorting-network

2
推荐指数
1
解决办法
91
查看次数