小编lur*_*x66的帖子

为什么我不能“停用”pyenv / virtualenv?如何“修复”安装

我在新安装的Ubuntu 16.04 上,鉴于使用最新版本的Pandas进行开发,我使用虚拟环境安装了Python 3.6.0

选择 3.6.0 的一个原因是因为我在某处读到这个版本的 Python 可以在本地处理虚拟环境,即无需安装任何其他东西 [无论如何安装 3.6.0 本身而不替换系统范围的 Python,这几乎可以肯定错了,我之前其实还得提供一个虚拟环境]。

我乐观地认为一切都会朝着正确的方向发展(包括我的知识),因此,不太关心以下之间的差异:pyenv、pyenv-virtualenv、pyvenv 等......所以我不太记得是什么我安装了,无论如何我只使用aptand pip/ pip3,试图在 virtualenv 可用后立即将其限制在

我松散地遵循了本教程,除了(可能)我没有为 virtualenvs ($ mkdir ~/.virtualenvs命令)创建目录。

现在我的用户被困在(general)环境中,我无法出去。

情况

从一登录后启动,而不激活任何environement,庆典给了我一个提示修改,似乎我不能用通常的提示deactivatesource deactivate等等......

(general) $ deactivate
pyenv-virtualenv: deactivate must be sourced. Run 'source deactivate' instead of 'deactivate'
(general) $ source deactivate
pyenv-virtualenv: deactivate 3.6.0/envs/general
(general) $ pyvenv deactivate
pyenv: pyvenv: command not found

The `pyvenv` …
Run Code Online (Sandbox Code Playgroud)

python ubuntu virtualenv pyenv

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

来自圆形/循环域的图像上的 Keras 卷积层

需求

您好,我正在尝试在来自圆柱域的图像上使用 CNN ,所以我有兴趣以圆形(或循环)方式应用卷积层。我的意思是一个卷积层,它不是用零填充图像,而是环绕图像(或图像周围的内核)。

想法、搜索和想法

来自信号处理背景,我预计它已经涵盖:实际上,当在频域中执行计算(即通过 DFT)时,这种循环来自免费,而需要额外的努力(称为“零填充”)以避免循环模棱两可。

好吧:我了解到,由于内核大小通常非常小,因此在基域中可以更方便地进行计算。我想不出为什么这不可行的任何充分理由,所以我希望存在一些进行循环卷积的直接方法。

但是我没有发现这个函数的覆盖范围,无论是在 Keras 还是在 TensorFlow 文档中。此外,我发现很少或没有真正相关的讨论:Torch7 Discussion

所以我剩下以下选项:

  • CyclicConv2D通过继承 Keras 的layer.Layer类来实现我自己的层,如here所述
  • 提交的实验性新功能,我自己拉的要求,如所描述这里。很快,我会考虑为“padding=”参数添加一些“wrap”值,或者添加一个新的“wrap=”参数。它应该指定图像应该沿着哪些轴环绕。事实上,这可能只需要沿着一个维度,圆形维度,而不是两个维度。

问题

有没有更直接的选择,或者我应该首先解决的信息来源?

否则,我在哪里可以找到如何实施前者的任何建议?

对于后者,我必须承认,我更多地描述它是为了激发一些集体思考如何从用户的角度实现它,但我真的觉得不能贡献一个好的拉取请求(即一个包括好的代码)。无论如何,我会很感激任何从哪里开始的建议。

python conv-neural-network keras keras-layer

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

f"{expr=}" 是一个新的 f 字符串表达式吗(请参阅训练大括号之前的等号)?从哪个版本的 python 开始?

我收到了一个 python 笔记本,其中充满了f"{expr=}"在我的环境中产生错误消息的表达式:

var=7

print(f"{var=}")

  File "<fstring>", line 1
    (var=)
        ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我怀疑/期望它实际上可能是 的新语法f"expr={expr}",即如以下打印语句所示:

print(f"var={var}")

var=7
Run Code Online (Sandbox Code Playgroud)

事实上,我经常使用后者这样的表达式进行调试,如果有一个它的简写就更好了。

那是比我的(3.7.6)更高版本的Python吗?还是fstring模块的定制? 在网络或 SE 中搜索它并没有什么成效。

如果它不是标准功能,我怎样才能让它工作?

python debugging f-string

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

Python 3,yield 表达式返回值受其刚刚通过 send() 接收的值的影响?

在阅读了文档、问题并制作了我自己的测试代码后,我相信我已经理解了 ayield expression是如何工作的。

尽管如此,我对以下示例代码的行为感到惊讶:

def gen(n=0):
    while True:
        n = (yield n) or n+1

g=gen()
print( next(g) )
print( next(g) )
print( g.send(5) )
print( next(g) )
print( next(g) )
Run Code Online (Sandbox Code Playgroud)

我原以为它会返回 0, 1, 2, 5, 6,而它会产生:0, 1, 5, 6, 7。

即:我原以为会yield expression产生这些效果:

  1. 计算 的值yield expression,并将其返回给调用者
  2. 从调用者那里获取值send()并将它们用作生成器函数代码接收的 yield 表达式的值
  3. 在执行任何其他操作之前暂停执行;它将在同一时间在同一点恢复next(g)g.send()调用

...和/或 Python 会注意避免 (1) 和 (2) 中的两个信息流之间的任何干扰,即保证它们是独立的,例如在元组分配中 a, b = f(a,b), g(a,b)

(我什至想知道在 (1) 和 (2) 之间进行暂停是否更好,但也许它会非常复杂,因为这意味着仅执行部分语句,其余部分保留用于下一份简历)

无论如何,操作的顺序是(2),然后(1),然后(3),因此(2)中的赋值发生在之前,并且可以影响(1)中的赋值。即g.send() …

python yield generator

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