小编Enr*_*rba的帖子

Python 3.6+中是否有格式化的字节字符串文字?

我正在寻找格式化的字节字符串文字.具体来说,相当于

name = "Hello"
bytes(f"Some format string {name}")
Run Code Online (Sandbox Code Playgroud)

可能是类似的东西fb"Some format string {name}".

这样的事情存在吗?

python string-interpolation python-3.x f-string

25
推荐指数
4
解决办法
4770
查看次数

在训练某些网络时,Keras(Tensorflow后端)在GPU上比在CPU上慢

我很难理解为什么GPU和CPU速度与小尺寸网络相似(CPU有时更快),并且GPU在更大尺寸的网络上更快.问题底部的代码在i7-6700k上以103.7s运行,但是当使用tensorflow-gpu时,代码在29.5秒内运行.

但是,当我训练一个拥有100个隐藏神经元的网络时,而不是像下面的例子中的1000个,使用GPU时大约需要20秒,使用CPU时大约需要15秒.

我读到另一个堆栈溢出答案,CPU-> GPU传输需要很长时间,我假设这是参考在GPU上加载数据示例.

有人可以解释为什么会发生这种情况,并可能引用我可以为最大化速度而做出的代码中的一些变化吗?

import numpy as np
import tensorflow as tf
import keras
from keras.models import Sequential
from keras.utils import np_utils
from keras.layers.core import Dense, Activation, Flatten, Dropout
from sklearn.preprocessing import normalize

## Importing the MNIST dataset using Keras
from keras.datasets import mnist
(X_train, y_train), (X_test, y_test) = mnist.load_data()

# reshape for vector input
N, x, y = X_train.shape
X_train = normalize(np.reshape(X_train, (N, x * y)))

N, x, y = X_test.shape
X_test = normalize(np.reshape(X_test, (N, x * y))) …
Run Code Online (Sandbox Code Playgroud)

cpu performance gpu keras tensorflow

11
推荐指数
1
解决办法
8090
查看次数

PyOpenGL 加速究竟是什么?

标题是这里的主要问题。我在我的计算机上运行了一些 PyOpenGL 代码,但运行速度有些慢。我意识到我没有安装 PyOpenGL-accelerate。这根本没有改变速度,但是大多数关于 Python OpenGL 绑定的教程都建议应该安装 PyOpenGL-accelerate。

这个模块到底有什么作用?

python opengl pyopengl

4
推荐指数
1
解决办法
4204
查看次数

Python:如何获取随机子集

我如何s在python中获得一组的随机子集?我试过了

from random import sample, randint

def random_subset(s):
    length = randint(0, len(s))
    return set(sample(s, length))
Run Code Online (Sandbox Code Playgroud)

但我现在认识到,这显然是行不通的,因为分布len(s)在那里s是一个随机子集是不统一的0n.

我敢肯定我可以计算这个分布并使用numpy的样本概率,或类似的东西,但我最喜欢的东西最好用纯python.

python set subset python-3.x

4
推荐指数
1
解决办法
476
查看次数

用犰狳加载大型矩阵

我有一个非常稀疏的矩阵,密度约为0.01,维度为20000 x 500000。我正在尝试在犰狳中加载它

sp_mat V;
V.load(filename, coord_ascii);
Run Code Online (Sandbox Code Playgroud)

文件格式为

row column value
Run Code Online (Sandbox Code Playgroud)

但这花费的时间太长了。Python可以解析该文件,并填写一本字典用它的方式快于犰狳可以创建这个矩阵。我应该如何正确地做到这一点?

矩阵将填充整数。

任何意见,将不胜感激!

更新:

这是犰狳独有的问题。当逐行读取时,C++ 可以毫无问题地迭代文件,但是将值分配给 anarma::sp_mat的速度非常慢。

c++ sparse-matrix armadillo

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

将标量添加到Eigen :: SparseMatrix的每个非零条目

我有一个巨大的Eigen::SparseMatrix,我想在矩阵中的非零条目中添加一个标量.

也就是说,如果我有一个矩阵A,其值_表示0稀疏矩阵中的一个条目,即它从未插入.

    1 _ 2
A = _ 3 _
    4 5 6
Run Code Online (Sandbox Code Playgroud)

我想做点什么,A += 1然后到达

    2 _ 3
A = _ 4 _
    5 6 7
Run Code Online (Sandbox Code Playgroud)

零条目不受影响的地方.

有没有有效的方法来做到这一点?

c++ sparse-matrix eigen

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

OCaml 语法错误通过双分号修复

我很抱歉在这里问这样一个基本问题,但在尝试编译以下代码时遇到语法错误,

let sum_of_squares_of_two_largest x y z =
    let a :: b :: _ = List.sort (fun x y -> -(compare x y)) [x; y; z] in
    a * a + b * b;

let rec factorial n =
    if n = 0 then 1 else n * factorial (n - 1);

let e_term n = 1.0 /. float_of_int (factorial n);

let rec e_approximation n =
    if n = 0 then (e_term 0) else (e_term n) +. (e_approximation (n - 1)); …
Run Code Online (Sandbox Code Playgroud)

ocaml syntax-error

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

OCaml“to”关键字?

我正在编写一些 OCaml 代码,并注意到我的语法突出显示to以特殊方式处理。因此,我启动了 OCaml repl ( utop ) 并尝试使用该名称实例化一个变量to

let to = 1;;
Run Code Online (Sandbox Code Playgroud)

我得到一个带to下划线的语法错误。我也尝试看看是不是运营商

(to);;
Run Code Online (Sandbox Code Playgroud)

但这也引发了语法错误。我想知道:to关键字是什么,是否有 OCaml 关键字的完整列表?

ocaml keyword

0
推荐指数
1
解决办法
256
查看次数