小编Nei*_*l G的帖子

Pickle在Python 2和3之间不兼容numpy数组

我试图加载链接的MNIST数据集在这里使用该程序在Python 3.2:

import pickle
import gzip
import numpy


with gzip.open('mnist.pkl.gz', 'rb') as f:
    l = list(pickle.load(f))
    print(l)
Run Code Online (Sandbox Code Playgroud)

不幸的是,它给了我错误:

Traceback (most recent call last):
   File "mnist.py", line 7, in <module>
     train_set, valid_set, test_set = pickle.load(f)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

然后我尝试在Python 2.7中解码pickle文件,并重新编码.所以,我在Python 2.7中运行了这个程序:

import pickle
import gzip
import numpy


with gzip.open('mnist.pkl.gz', 'rb') as f:
    train_set, valid_set, test_set = pickle.load(f)

    # Printing out the three objects reveals that they are
    # …
Run Code Online (Sandbox Code Playgroud)

python pickle python-3.x

147
推荐指数
6
解决办法
8万
查看次数

是否在库中提供了Python保留字和内置列表?

是否在库中提供了Python保留字和内置列表?我想做的事情如下:

 from x.y import reserved_words_and_builtins

 if x in reserved_words_and_builtins:
     x += '_'
Run Code Online (Sandbox Code Playgroud)

python

131
推荐指数
1
解决办法
3万
查看次数

119
推荐指数
1
解决办法
6万
查看次数

如何在C++ 0x中组合哈希值?

C++ 0x添加hash<...>(...).

我找不到一个hash_combine函数,如boost中所示.实现这样的事最简洁的方法是什么?也许,使用C++ 0x xor_combine

c++ hash boost std c++11

78
推荐指数
6
解决办法
3万
查看次数

为什么Python的标准库中没有排序容器?

是否有Python设计决策(PEP)阻止将已排序的容器添加到Python中?

(OrderedDict不是已排序的容器,因为它是按插入顺序排序的.)

python language-design sortedset sortedmap

73
推荐指数
4
解决办法
4万
查看次数

72
推荐指数
4
解决办法
5万
查看次数

Python functools.wraps等同于类

使用类定义装饰器时,如何自动转移__name__,__module____doc__?通常,我会使用functools的@wraps装饰器.这是我为一个课而做的(这不完全是我的代码):

class memoized:
    """Decorator that caches a function's return value each time it is called.
    If called later with the same arguments, the cached value is returned, and
    not re-evaluated.
    """
    def __init__(self, func):
        super().__init__()
        self.func = func
        self.cache = {}

    def __call__(self, *args):
        try:
            return self.cache[args]
        except KeyError:
            value = self.func(*args)
            self.cache[args] = value
            return value
        except TypeError:
            # uncacheable -- for instance, passing a list as an argument.
            # Better to not …
Run Code Online (Sandbox Code Playgroud)

python decorator

69
推荐指数
4
解决办法
2万
查看次数

是否有适用于vim的C++ 11语法文件?

特别是,初始化列表的显示非常糟糕:

vector<int> v({1,2,3});
Run Code Online (Sandbox Code Playgroud)

将突出显示红色的花括号(表示错误).

c++ vim c++11

65
推荐指数
5
解决办法
2万
查看次数

macosx下的python matplotlib框架?

我收到此错误:

/sw/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py:235:UserWarning:Python未作为框架安装.如果未将Python安装为框架,则MacOSX后端可能无法正常工作.有关在Mac OS X上安装Python作为框架的更多信息,请参阅Python文档

我使用fink安装了python27,并且使用默认的matplotlib是使用macosx框架.

python matplotlib fink

59
推荐指数
7
解决办法
2万
查看次数

测试浮点相等

有没有在python中测试浮点近似相等的函数?就像是,

 def approx_equal(a, b, tol):
     return abs(a - b) < tol
Run Code Online (Sandbox Code Playgroud)

我的用例类似于Google的C++测试库gtest.h所定义的EXPECT_NEAR.

这是一个例子:

def bernoulli_fraction_to_angle(fraction):
    return math.asin(sqrt(fraction))
def bernoulli_angle_to_fraction(angle):
    return math.sin(angle) ** 2
def test_bernoulli_conversions():
    assert(approx_equal(bernoulli_angle_to_fraction(pi / 4), 0.5, 1e-4))
    assert(approx_equal(
              bernoulli_fraction_to_angle(bernoulli_angle_to_fraction(0.1)),
                0.1, 1e-4))
Run Code Online (Sandbox Code Playgroud)

python floating-point comparison

36
推荐指数
4
解决办法
3万
查看次数