zoukankan      html  css  js  c++  java
  • 完美解决ImportError: cannot import name '_validate_lengths'报错问题

    欢迎关注WX公众号:【程序员管小亮】

    最近在运行代码的时候出现了错误——ImportError: cannot import name '_validate_lengths'

    经过查询和尝试,发现下面的这个方法可以完美运行。

    找到:C:UsersAdministratAnaconda3Libsite-packages umpylibarraypad .py,打开.py文件,找到第954行,添加下面两个函数保存,重新加载即可消除错误,亲测有效。

    在这里插入图片描述

    def _normalize_shape(ndarray, shape, cast_to_int=True):
        """
        Private function which does some checks and normalizes the possibly
        much simpler representations of ‘pad_width‘, ‘stat_length‘,
        ‘constant_values‘, ‘end_values‘.
        Parameters
        ----------
        narray : ndarray
            Input ndarray
        shape : {sequence, array_like, float, int}, optional
            The width of padding (pad_width), the number of elements on the
            edge of the narray used for statistics (stat_length), the constant
            value(s) to use when filling padded regions (constant_values), or the
            endpoint target(s) for linear ramps (end_values).
            ((before_1, after_1), ... (before_N, after_N)) unique number of
            elements for each axis where `N` is rank of `narray`.
            ((before, after),) yields same before and after constants for each
            axis.
            (constant,) or val is a shortcut for before = after = constant for
            all axes.
        cast_to_int : bool, optional
            Controls if values in ``shape`` will be rounded and cast to int
            before being returned.
        Returns
        -------
        normalized_shape : tuple of tuples
            val                               => ((val, val), (val, val), ...)
            [[val1, val2], [val3, val4], ...] => ((val1, val2), (val3, val4), ...)
            ((val1, val2), (val3, val4), ...) => no change
            [[val1, val2], ]                  => ((val1, val2), (val1, val2), ...)
            ((val1, val2), )                  => ((val1, val2), (val1, val2), ...)
            [[val ,     ], ]                  => ((val, val), (val, val), ...)
            ((val ,     ), )                  => ((val, val), (val, val), ...)
        """
        ndims = ndarray.ndim
        # Shortcut shape=None
        if shape is None:
            return ((None, None), ) * ndims
        # Convert any input `info` to a NumPy array
        shape_arr = np.asarray(shape)
        try:
            shape_arr = np.broadcast_to(shape_arr, (ndims, 2))
        except ValueError:
            fmt = "Unable to create correctly shaped tuple from %s"
            raise ValueError(fmt % (shape,))
        # Cast if necessary
        if cast_to_int is True:
            shape_arr = np.round(shape_arr).astype(int)
        # Convert list of lists to tuple of tuples
        return tuple(tuple(axis) for axis in shape_arr.tolist())
     
    def _validate_lengths(narray, number_elements):
        """
        Private function which does some checks and reformats pad_width and
        stat_length using _normalize_shape.
        Parameters
        ----------
        narray : ndarray
            Input ndarray
        number_elements : {sequence, int}, optional
            The width of padding (pad_width) or the number of elements on the edge
            of the narray used for statistics (stat_length).
            ((before_1, after_1), ... (before_N, after_N)) unique number of
            elements for each axis.
            ((before, after),) yields same before and after constants for each
            axis.
            (constant,) or int is a shortcut for before = after = constant for all
            axes.
        Returns
        -------
        _validate_lengths : tuple of tuples
            int                               => ((int, int), (int, int), ...)
            [[int1, int2], [int3, int4], ...] => ((int1, int2), (int3, int4), ...)
            ((int1, int2), (int3, int4), ...) => no change
            [[int1, int2], ]                  => ((int1, int2), (int1, int2), ...)
            ((int1, int2), )                  => ((int1, int2), (int1, int2), ...)
            [[int ,     ], ]                  => ((int, int), (int, int), ...)
            ((int ,     ), )                  => ((int, int), (int, int), ...)
        """
        normshp = _normalize_shape(narray, number_elements)
        for i in normshp:
            chk = [1 if x is None else x for x in i]
            chk = [1 if x >= 0 else -1 for x in chk]
            if (chk[0] < 0) or (chk[1] < 0):
                fmt = "%s cannot contain negative values."
                raise ValueError(fmt % (number_elements,))
        return normshp
    ###############################################################################
    # Public functions​
    

    python课程推荐。
    在这里插入图片描述

  • 相关阅读:
    Chandy-Lamport_algorithm
    3 differences between Savepoints and Checkpoints in Apache Flink
    列数 行数 表数 限制
    数据收集、传输、元数据管理、作业流调度、海量数据查询引擎、数据可视化
    分析云负载均衡产品
    端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则
    JSON Web Token
    查看开启端口的应用
    If the parts of an organization (e.g., teams, departments, or subdivisions) do not closely reflect the essential parts of the product, or if the relationship between organizations do not reflect the r
    微服务架构的理论基础
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302767.html
Copyright © 2011-2022 走看看