小编Ale*_*eft的帖子

如何将 Python 代码组织成可折叠/可扩展的块?

在 Pycharm 中,有一个“代码结构”侧栏,它提供了一个树来浏览代码,但是,它仅在代码具有类、方法和对象时才有用。如果代码中没有任何内容,那么它就没用了。我的问题是:有什么方法可以指定这是一个块,并且我希望能够折叠它并展开它?与 Jupyter 类似,代码本质上被划分为单元格。

目前,我正在这样做:

# ---------------------------------- chunck x blah blah -----------------------
Run Code Online (Sandbox Code Playgroud)

编辑:大多数评论说我很愚蠢,我不知道如何有效地编码,我应该使用函数和类。伙计们,我知道如何使用它们,这不是我的问题。谢谢。

python pycharm

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

pathlib.Path 的简单子类化出错:没有 _flavour 属性

我正在尝试从 pathlib 继承 Path,但在实例化时出现以下错误而失败

from pathlib import Path
class Pl(Path):
    def __init__(self, *pathsegments: str):
        super().__init__(*pathsegments)

Run Code Online (Sandbox Code Playgroud)

实例化时出错

AttributeError: type object 'Pl' has no attribute '_flavour'

Run Code Online (Sandbox Code Playgroud)

更新:我继承WindowsPath仍然不起作用。

TypeError: object.__init__() takes exactly one argument (the instance to initialize)

python

11
推荐指数
2
解决办法
3032
查看次数

以相同的顺序打乱两个张量

如上。我试过那些无济于事:

tf.random.shuffle( (a,b) )
tf.random.shuffle( zip(a,b) )
Run Code Online (Sandbox Code Playgroud)

我曾经连接它们并进行改组,然后取消连接/解包。但是现在我处于 (a) 是 4D 秩张量而 (b) 是 1D 的情况,因此,无法连接。

我还尝试将种子参数提供给 shuffle 方法,以便它重现相同的洗牌,我使用它两次 => 失败。还尝试用随机洗牌的数字范围自己进行洗牌,但 TF 在花式索引方面不如 numpy 灵活,而且东西 ==> 失败了。

我现在正在做的是,将所有内容转换回 numpy,然后使用 sklearn 中的 shuffle,然后通过重铸返回张量。这完全是愚蠢的方式。这应该发生在图表内。

tensorflow tensorflow2.0 tensorflow2.x

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

onedrive-sdk-python API 还存在吗?

python-onedrive 来自python-onedrive 的作者警告说,他的库已被微软官方库获取和废弃,并引用了其 git repo sdk

令我困惑的是,归档过时的库仍在维护,而官方存储库自 6 年前就已死亡。这是怎么回事?

谢谢。

python api github onedrive microsoft-graph-api

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

如何调整图像大小但保持 sk-image 中的像素值?

我想调整图像大小。我的图像包含特定值 [0, 1, 2, 7, 9]。调整大小后,会引入新值,例如 5 等。我想阻止这种情况发生。

我目前正在使用scikit图像调整大小功能。我已经尝试了所有插值标志但无济于事。

编辑:一个简单的代码来显示问题

import numpy as np
from skimage.transform import resize
vals = [0, 1, 4, 6]
N, M = 100, 100
image = np.random.choice(vals, N * M).reshape(N, M).astype('uint8')
resized_image = resize(image, (50, 50), preserve_range=True).astype('uint8')

print('vals before resizing ', np.unique(image))
print('vals after resizing ', np.unique(resized_image))
Run Code Online (Sandbox Code Playgroud)

python resize scipy scikit-image

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

IPython 中的“runfile”命令是什么?

当在 Pycharm 中使用控制台运行文件时,我在控制台顶部看到 Pycharm 只是在控制台中执行了此命令:

runfile('C:/Users/Alex/code/proj1/asset_management.py', wdir='C:/Users/Alex/code')
Run Code Online (Sandbox Code Playgroud)

然而,我觉得runfile很奇怪,似乎是 Pycharm 控制台所独有的。有关于此的更多信息吗?

顺便说一句,我发现它比 Vscode 更强大,它的规则文件如下

 & C:/Users/Alex/.conda/envs/ve/python.exe c:/Users/Alex/code/proj1/asset_management.py
Run Code Online (Sandbox Code Playgroud)

不指定工作目录会导致相对导入错误。因此,我希望能够访问runfilePycharm 以外的其他 IDE。

python ipython pycharm visual-studio-code

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

Keras / TF 2019 限制 GPU 内存使用?

我已经阅读了以下答案:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.2
set_session(tf.Session(config=config))
Run Code Online (Sandbox Code Playgroud)

但这不起作用。keras 和 TF 似乎都有太多更新,以至于 2017 年编写的几乎所有内容都不起作用!那么,如何限制内存使用呢?

gpu deep-learning keras tensorflow

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

这个警告是什么意思?“未在 __all__ 中声明”

Pycharm 向我发出警告,提示我不知道如何修复。

在此输入图像描述

那么我在编码时的错误做法是什么?我怎样才能解决这个问题?

python

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

如何在 TF 2.0 中实现梯度反转层?

这一层是静态的,它是一个伪函数。在前向传播中,它不做任何事情(身份函数)。然而,在反向传播中,它将梯度乘以 -1。github 上有很多实现,但它们不适用于 TF 2.0。

这里有一份供参考。

import tensorflow as tf
from tensorflow.python.framework import ops

class FlipGradientBuilder(object):
    def __init__(self):
        self.num_calls = 0

    def __call__(self, x, l=1.0):
        grad_name = "FlipGradient%d" % self.num_calls
        @ops.RegisterGradient(grad_name)
        def _flip_gradients(op, grad):
            return [tf.negative(grad) * l]

        g = tf.get_default_graph()
        with g.gradient_override_map({"Identity": grad_name}):
            y = tf.identity(x)

        self.num_calls += 1
        return y

flip_gradient = FlipGradientBuilder()
Run Code Online (Sandbox Code Playgroud)

keras tensorflow tensorflow2.0

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

如何将函数包装为类?

我有一个功能,说:

def func(arg1, arg2=5):
    blah blah
Run Code Online (Sandbox Code Playgroud)

不幸的是,我正在使用的库要求将输入作为类的实例,所以我不能仅仅将自定义函数传递给上面。

我需要一个class wrapper环绕它,以便传递: MyClass(arg2=4)结果是上面显示的函数,可以将第二个参数设置为4来执行该函数。

我怎样才能做到这一点?

我的尝试: lambda x: func(x, arg2=4)

但是,这不是类的实例。我想模仿该库,其中的函数是类的实例。

python

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