小编ika*_*men的帖子

Python Mixin - 未解析的属性参考 [PyCharm]

我正在使用 mixin 将一系列功能分离到不同的类。这个 Mixin 只应该与唯一的子类混合:

class Mixin:
    def complex_operation(self):
        return self.foo.capitalize()

class A(Mixin):
    def __init__(self):
        self.foo = 'foo'
Run Code Online (Sandbox Code Playgroud)

在我的方法Mixin.complex_operationPyCharm 中给出警告“未解析的属性引用 foo”。

我是否正确使用了 mixin 模式?有没有更好的办法?(我希望在我的 mixin 中有类型提示和自动完成功能,并且我希望有多个 mixin。)

python mixins pycharm

20
推荐指数
2
解决办法
2645
查看次数

Python 类型:tuple[str] 与 tuple[str, ...]

tuple[str, ...]vs 和有什么区别tuple[str]?(蟒蛇打字)

python python-typing

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

如何从src子文件夹中的文件导入?

我想将我的代码拆分到 src 的多个子目录中。例子:

src
  main.rs
  sorting_algorithms
    bubble.rs
Run Code Online (Sandbox Code Playgroud)

bubble.rs 包含一个函数bubble_sort;我如何将其导入 main.rs?

import rust

8
推荐指数
2
解决办法
2016
查看次数

如何获得天蓝色管道的代码覆盖率徽章

我已为 Azure Pipelines 中的自动构建配置了我的 github 项目。在“管道/构建/”下,我可以单击“...”并选择“状态徽章”。

在管道内部,已经测量了代码覆盖率:我可以选择一个特定的构建,然后转到“代码覆盖率”选项卡。但是,我找不到任何指向覆盖徽章的链接。它是由 Azure Devops 提供的吗?或者是否有任何与 Azure Devops 集成的免费工具来提供此功能?

code-coverage azure azure-devops azure-pipelines

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

如何正确地将特定张量输入到keras模型

为了允许将Keras模型用作标准tensorflow操作的一部分,我使用输入的特定占位符创建一个模型。

但是,当尝试执行model.predict时,出现错误:

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [100,84,84,4]
 [[Node: Placeholder = Placeholder[dtype=DT_FLOAT, shape=[100,84,84,4], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

from keras.layers import Convolution2D, Dense, Input
from keras.models import Model
from keras.optimizers import Nadam
from keras.losses import mean_absolute_error
from keras.activations import relu
import tensorflow as tf
import numpy as np
import gym

state_size = [100, 84, 84, 4]

input_tensor = tf.placeholder(dtype=tf.float32, shape=state_size)

inputL = Input(tensor=input_tensor)
h1 = Convolution2D(filters=32, kernel_size=(5,5), strides=(4,4), activation=relu) …
Run Code Online (Sandbox Code Playgroud)

machine-learning deep-learning keras tensorflow

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

Tensorflow 2.0:Optimizer.minimize('Adam' 对象没有属性 'minimize')

对于我的强化学习应用程序,我需要能够应用自定义梯度/最小化不断变化的损失函数。根据文档,使用 Optimizer.minimize() 函数应该是可能的。但是,我的 pip 安装版本似乎根本没有此功能。

我的代码:

from tensorflow.python.keras.optimizers import Adam, SGD
print(tf.version.VERSION)
optim = Adam()
optim.minimize(loss, var_list=network.weights)
Run Code Online (Sandbox Code Playgroud)

输出:

2.0.0-alpha0
Traceback (most recent call last):
  File "/Users/ikkamens/Library/Preferences/PyCharmCE2018.3/scratches/testo.py", line 18, in <module>
    optim.minimize(loss, var_list=network.weights)
AttributeError: 'Adam' object has no attribute 'minimize'
Run Code Online (Sandbox Code Playgroud)

tensorflow tensorflow2.0

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

基于可执行文件(不是 git repo)的预提交挂钩

我想运行来自 pip 的可执行文件,但该文件不能作为 git 存储库提供。文档似乎假设您想要运行的任何内容都来自 git 存储库:https://pre-commit.com/#plugins。如何将任意 shell 命令作为预提交挂钩运行?

pre-commit

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

xgboost:尽管精度合理,但对数损失巨大

我在二元分类问题上训练 xgboost 分类器。它的预测准确率达到 70%。然而对数损失非常大,达到 9.13。我怀疑这可能是因为一些预测与目标相差很大,但我不明白为什么会发生 - 其他人报告使用 xgboost 对相同数据的对数损失要好得多(0.55 - 0.6)。

from readCsv import x_train, y_train
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, log_loss
from xgboost import XGBClassifier

seed=7
test_size=0.09

X_train, X_test, y_train, y_test = train_test_split(
    x_train, y_train, test_size=test_size, random_state=seed)

# fit model no training data
model = XGBClassifier(max_depth=5,
                      learning_rate=0.02,
                      objective= 'binary:logistic',
                      n_estimators = 5000)
model.fit(X_train, y_train)

# make predictions for test data
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]

accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" …
Run Code Online (Sandbox Code Playgroud)

machine-learning bigdata xgboost cross-entropy

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

用属性替换实例的属性

我想用属性覆盖属性,但只在一个实例上.这是我尝试解决它的方法,但它没有做我想做的事情:

class Foo:
    def __init__(self):
        self.bar = True
        self._hidden = False

a = Foo()
print(a.bar)
a.bar = property(lambda self: self._hidden)
print(a.bar)


>>> C:\Users\Ilya\AppData\Local\Programs\Python\Python37-32\python.exe C:/Users/Ilya/pydolons/experiment.py
>>> True
>>> <property object at 0x0323B960>
Run Code Online (Sandbox Code Playgroud)

可以吗?什么是启用类属性的dunder调用的实际机制,而不是在实例上设置的那个?

以下代码执行我想要做的事情,但它修改了类:

class Foo:
    def __init__(self):
        self.bar = True
        self._hidden = False

a = Foo()
print(a.bar)
Foo.bar = property(lambda self: self._hidden)
print(a.bar)

>>> C:\Users\Ilya\AppData\Local\Programs\Python\Python37-32\python.exe C:/Users/Ilya/pydolons/experiment.py
>>> True
>>> False
Run Code Online (Sandbox Code Playgroud)

python

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