小编Jac*_*vam的帖子

TensorFlow`py_func`的输出具有未知的等级/形状

我试图在TensorFlow中创建一个简单的神经网络.唯一棘手的部分是我有一个我实现的自定义操作py_func.当我将输出传递py_funcDense图层时,TensorFlow会抱怨应该知道等级.具体错误是:

ValueError: Inputs to `Dense` should have known rank.
Run Code Online (Sandbox Code Playgroud)

当我通过它时,我不知道如何保留我的数据的形状py_func.我的问题是如何获得正确的形状?我在下面有一个简单的例子来说明问题.

def my_func(x):
    return np.sinh(x).astype('float32')

inp = tf.convert_to_tensor(np.arange(5))
y = tf.py_func(my_func, [inp], tf.float32, False)

with tf.Session() as sess:
    with sess.as_default():
        print(inp.shape)
        print(inp.eval())
        print(y.shape)
        print(y.eval())
Run Code Online (Sandbox Code Playgroud)

此代码段的输出是:

(5,)
[0 1 2 3 4]
<unknown>
[  0.       
1.17520118   3.62686038  10.01787472  27.28991699]
Run Code Online (Sandbox Code Playgroud)

为什么y.shape <unknown>?我希望形状与之(5,)相同inp.谢谢!

tensorflow

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

IPython 选项卡完成菜单颜色不可读

IPython 中的制表符补全实际上无法使用,因为文本很难阅读。

在此输入图像描述

这是我尝试过的:

  1. 我没有 ipython 配置文件,所以我创建了一个: ipython profile create
  2. 在我的ipython_config.py我设定中c.InteractiveShell.colors = 'NoColors'。这使我的所有文本变成白色,但完成文本没有改变。

在此输入图像描述

我正在使用以下软件:

  • 小猫终端:0.14.1
  • IPython:7.5.0
  • 皮格门斯:2.4.2
  • 提示工具包:2.0.9

ipython

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

通过基本身份验证确保 Flask-SocketIO 通信的安全

我有一个使用基本身份验证进行身份验证的 Flask-SocketIO 应用程序。我试图确保我的所有套接字通信也受到保护,至少达到与基本身份验证相同的程度。

\n\n

来自 Flask-SocketIO 有关身份验证的文档:

\n\n
\n

然而,大多数情况下,在建立 SocketIO 连接之前执行传统的身份验证过程更为方便。然后可以将 user\xe2\x80\x99s 身份记录在用户会话或 cookie 中,稍后当建立 SocketIO 连接时,SocketIO 事件处理程序将可以访问该信息。

\n
\n\n

因此,我试图弄清楚如何通过用户会话来安全地存储某些内容。假设我执行以下操作,首先登录,我签署了哈希用户名和密码:

\n\n
from flask import session\nfrom itsdangerous import Signer\n\nsigner = Signer(\'super secret key\')\ndef login(username: str, password: str):\n    if (username, password) in credentials:\n        hashed = hash(username + password)\n        session[\'user\'] = s.sign(hashed)\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我可以为我的 socketio 侦听器创建一个装饰器,它只需检查会话中的签名值是否有效:

\n\n
def authenticated_only(f):\n    @functools.wraps(f)\n    def wrapped(*args, **kwargs):\n        try:\n            signer.unsign(session[\'user\'])\n            return f(*args, **kwargs)\n        except BadSignature:\n            disconnect()\n    return wrapped\n\n@socketio.on(\'my event\')\n@authenticated_only\ndef handle_my_custom_event(data):\n    pass\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是一个合理的做法吗?有我遗漏的陷阱吗?这是没有意义的,因为我正在使用基本身份验证?

\n

python authentication flask socket.io flask-socketio

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