小编Sha*_*ney的帖子

控制元类中的上下文管理器

我想知道是否可以在元类和装饰器中自动控制上下文。我编写了一个装饰器函数,用于从 grpc 不安全通道创建存根:

def grpc_factory(grpc_server_address: str):
    print("grpc_factory")
    def grpc_connect(func):
        print("grpc_connect")
        def grpc_connect_wrapper(*args, **kwargs):
            with grpc.insecure_channel(grpc_server_address) as channel:
                stub = AnalyserStub(channel)
                return func(*args, stub=stub, **kwargs)
        return grpc_connect_wrapper
    return grpc_connect
Run Code Online (Sandbox Code Playgroud)

然后,我创建了一个元类,该元类将上下文管理器与以以下方式开头的每个方法一起使用grpc_,然后将存根注入到方法 kwargs 中:

class Client(type):
    @classmethod
    def __prepare__(metacls, name, bases, **kwargs):
        return super().__prepare__(name, bases, **kwargs)

    def __new__(cls, name, bases, attrs, **kwargs):
        if "grpc_server_address" not in kwargs:
            raise ValueError("""grpc_server_address is required on client class, see below example\n
            class MyClient(AnalyserClient, metaclass=Client, grpc_server_address='localhost:50051')""")
        for key, value in attrs.items():
            if callable(value) and key.startswith("grpc_"):
                attrs[key] …
Run Code Online (Sandbox Code Playgroud)

python metaclass decorator grpc

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

在 Tensorboard 中显示 Keras 图而不使用 fit 方法中的回调

是否可以在不使用 fit 方法中的 tensorboard 回调的情况下在 Tensorboard 中显示 Keras 图?

是否可以从 Keras 中提取图形并使用 tensorflow FileWriter 显示图形? tf.summary.FileWriter(logdir='logdir', graph=graph)

我想这样做是为了检查图形这部分的所有连接是否符合预期(此模型是远未完成的较大模型的一部分)。

谢谢。

python-3.x keras tensorflow tensorboard

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

“海象操作员”分配的多个条件

我想知道是否可以使用“海象运算符”根据某些条件以及现有条件来分配值。例如,post_url如果该字符串包含某个子字符串,则将该字符串分配给:

if post_url := data.get("Post url") and ("youtube" in data.get("Post url")):
    # Do something with post_url
else:
    # Do something else
Run Code Online (Sandbox Code Playgroud)

然而,这只是post_url由于操作的评估而分配布尔值and

python python-3.8 python-assignment-expression

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

打印频域图的最高峰值

我试图在时域和频域中绘制我自制的四边形的振荡。如何在频域图中打印最高峰的值?

代码:

import matplotlib.pyplot as plt
import numpy as np
from scipy import fft, arange

csv = np.genfromtxt ('/Users/shaunbarney/Desktop/Results/quadOscillations.csv', delimiter=",",dtype=float)
x = csv[:,0]
y = csv[:,1]
x = x - 6318        #Remove start offset
av=0
for i in xrange(1097):      #Calculate average sampling time in seconds oscillations 
    if i == 1076:
        avSampleTime = av/1097000     # 
        break
    av = av + (x[i+1]-x[i])

Fs = 1/avSampleTime   #Average sampling freq.
n = 1079              #no.Samples
k = arange(n)
Ts = n/Fs
frq = k/Ts            #Frequency …
Run Code Online (Sandbox Code Playgroud)

python matlab numpy matplotlib scipy

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