小编Alb*_*ert的帖子

Python:解码mp3

我需要用Python解码MP3文件.什么是好的图书馆可以做到这一点?

我看了PyMedia,但项目似乎已经死了,而且它在MacOSX上没有用.然后我发现了pyffmpeg,但到目前为止我还没有在MacOSX上工作.

有什么建议吗?

python macos mp3 decode

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

Java JLabel/JButton:在某些系统上我得到"......"(省略号),在某些系统上我没有.我该如何强制禁用省略号?

在大多数系统上,我的JLabel中的内容都很好.它的存在方式应该始终足以显示其内容文本,因为我基本上这样做:

label.setText(text);
label.setFont(new Font(fontName, 0, 12));
int width = label.getFontMetrics(label.getFont()).stringWidth(text);
int height = 21; // this should always be enough
label.setBounds(new Rectangle(x, y, width, height));
Run Code Online (Sandbox Code Playgroud)

但是在某些系统上(不是我自己的,所以我无法真正调试它那么容易),它会剪切文本并在最后显示"......".

您可以在此处查看完整代码,您可以在此处查看示例(Abbildungen_Bijektiv_X3).

我也有一些类似的JButton案例.

我怎么能强迫Swing不这样做?(即使它认为组件太小.)

Swing究竟在哪里处理这个?我浏览了JButton一些相关类的代码但是我没有真正找到它切割文本的代码并添加了省略号.

java swing jlabel jbutton

6
推荐指数
2
解决办法
7057
查看次数

Python:使用编译/评估时出现分段错误

码:

import ast

globalsDict = {}

fAst = ast.FunctionDef(
    name="foo",
    args=ast.arguments(args=[], vararg=None, kwarg=None, defaults=[]),
    body=[], decorator_list=[])

exprAst = ast.Interactive(body=[fAst])
ast.fix_missing_locations(exprAst)
compiled = compile(exprAst, "<foo>", "single")
eval(compiled, globalsDict, globalsDict)

print globalsDict["foo"]
Run Code Online (Sandbox Code Playgroud)

使用CPython和PyPy,我遇到了分段错误.为什么?


python pypy cpython compilation segmentation-fault

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

Python:如何动态设置函数闭包环境

我想动态声明一个函数,我想包装对全局变量的任何访问,或者定义哪些变量是空闲的,并包装对自由变量的任何访问.

我正在玩这样的代码:

class D:
    def __init__(self):
        self.d = {}     
    def __getitem__(self, k):
        print "D get", k
        return self.d[k]
    def __setitem__(self, k, v):
        print "D set", k, v
        self.d[k] = v
    def __getattr__(self, k):
        print "D attr", k
        raise AttributeError

globalsDict = D()

src = "def foo(): print x"

compiled = compile(src, "<foo>", "exec")
exec compiled in {}, globalsDict

f = globalsDict["foo"]
print(f)

f()
Run Code Online (Sandbox Code Playgroud)

这会产生输出:

D set foo <function foo at 0x10f47b758>
D get foo
<function foo at 0x10f47b758> …
Run Code Online (Sandbox Code Playgroud)

python eval compilation global-variables dynamic-execution

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

Git的bugtracker在哪里?

我正在为Git搜索bug跟踪器但我没有在他们的主页上找到它并且他们在GitHub上的问题跟踪器被禁用了.

git bug-tracking

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

奇怪的Python函数范围行为

我对这个范围行为感到困惑:

class Bar:
    def __init__(self):
        for fn in ["open","openW","remove","mkdir","exists","isdir","listdir"]:
            print "register", fn
            def func_wrapper(filename):
                print "called func wrapper", fn, filename
            setattr(self, fn, func_wrapper)

bar = Bar()
bar.open("a")
bar.remove("b")
bar.listdir("c")
Run Code Online (Sandbox Code Playgroud)

这给出了输出:

register open
register openW
register remove
register mkdir
register exists
register isdir
register listdir
called func wrapper listdir a
called func wrapper listdir b
called func wrapper listdir c
Run Code Online (Sandbox Code Playgroud)

但我原以为这func_wrapper将永远是正确的功能.我知道范围func_wrapper是整个函数,但我在每次循环迭代中重新定义它,最后一个实例在attrib中保存.我也尝试在func_wrapper = None下面添加,setattr但这没有帮助(也会让我感到奇怪......).

我瞎了吗?我甚至不知道如何解决/解决这个问题.

python

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

为`std :: shared_ptr`专门化`std :: default_delete`

我有这个想法:

namespace std {
    template<>
    class default_delete<IplImage> {
    public:
        void operator()(IplImage *ptr) const {
            cvReleaseImage(&ptr);
        }
    };
};

typedef std::shared_ptr<IplImage> IplImageObj;
Run Code Online (Sandbox Code Playgroud)

我真的没有找到太多的信息是否支持我专门化default_delete,是否shared_ptrdefault_delete默认使用.

它的工作方式与Clang 5.0.0一样.

那么,它是否受到支持?

如果STL实现具有不同的内部命名空间怎么办?它不会找到我的声明呢?但那应该是关于声明的错误.

c++ shared-ptr

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

Python 中 time.asctime 的倒数是什么

我有一个 24 个字符的字符串,想要获取元组。

例如:

'Fri Apr 25 12:24:47 2014'
Run Code Online (Sandbox Code Playgroud)

(通过time.ctime(time.time())

python time

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

Tensorboard,仅显示最新的tfevents

Tensboard显示了它在给定logdir中找到的所有事件。

如果我多次进行训练(或其他方式),则logdir中将有多个tfevents文件。Tensorboard将在一个看起来很奇怪的图中显示所有合并在一起的变量摘要。

图形

在stdout上,它写如下:

WARNING:tensorflow:Found more than one graph event per run. Overwriting the graph with the newest event.
WARNING:tensorflow:Found more than one "run metadata" event with tag step_0000. Overwriting it with the newest event.
Run Code Online (Sandbox Code Playgroud)

如何使它仅显示最新tfevents文件中的摘要/事件,以便它忽略所有较旧的tfevents文件?

tensorflow tensorboard

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

cudnnRNNForwardTraining seqLength/xDesc用法

假设我有N个序列x [i],每个序列的长度为seqLength [i] 0 <= i <N.据我从cuDNN文档中了解,它们必须按序列长度排序,最长的是第一个,所以假设seqLength [i]> = seqLength [i + 1].假设它们具有特征尺寸D,因此x [i]是2D张量形状(seqLength [i],D).据我所知,我应该准备一个张量x,其中所有的x [i]都是相互连续的,即它的形状(sum(seqLength),D).

按照cuDNN文档,功能cudnnRNNForwardInference/ cudnnRNNForwardTraining获取参数int seqLengthcudnnTensorDescriptor_t* xDesc,其中:

seqLength:展开的迭代次数.

xDesc:张量描述符数组.每个必须具有相同的第二维度.第一维可以从元素n减少到元素n + 1但可以不增加.

我不确定我是否正确理解这一点.是seqLength我的最大值(seqLength)?

并且xDesc是一个数组.什么长度?MAX(seqLength)?如果是这样,我假设它描述了每个帧的一批特征,但是后面的一些帧将具有较少的序列.听起来像第一维中描述了每帧序列的数量.所以:

xDesc[t].shape[0] = len([i for i in range(N) if t < seqLength[i]])
Run Code Online (Sandbox Code Playgroud)

对于所有0 <= t <max(seqLength).即0 <= xDesc[t].shape[0]<= N.

每个xDesc [t]描述多少维度,即什么是len(xDesc [t] .shape)?我假设它是2,第二个维度是特征维度,即D,即:

xDesc[t].shape = (len(...), D)
Run Code Online (Sandbox Code Playgroud)

必须相应地设置步幅,尽管它也不完全清楚.如果x以行主顺序存储,那么

xDesc[0].strides[0] = D * xDesc[0].shape[0]
xDesc[0].strides[1] = 1
Run Code Online (Sandbox Code Playgroud)

但是cuDNN如何计算帧的偏移量 …

cudnn

6
推荐指数
0
解决办法
707
查看次数