小编Flo*_*ker的帖子

Tensorflow dynamic_rnn参数含义

我很难理解神秘的RNN文档.任何有关以下的帮助将不胜感激.

tf.nn.dynamic_rnn(cell, inputs, sequence_length=None, initial_state=None, dtype=None, parallel_iterations=None, swap_memory=False, time_major=False, scope=None)
Run Code Online (Sandbox Code Playgroud)

我很难理解这些参数如何与数学LSTM方程和RNN定义相关.单元格展开的大小在哪里?它是由输入的'max_time'维度定义的吗?batch_size只是分割长数据的便利还是与minibatch SGD有关?输出状态是否通过批次传递?

tensorflow

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

tf.data:并行化加载步骤

我有一个数据输入管道,它具有:

  • 不能强制转换为 a tf.Tensor(dicts 和诸如此类)的类型的输入数据点
  • 无法理解 tensorflow 类型并需要处理这些数据点的预处理函数;其中一些进行动态数据增强

我一直在尝试将其放入tf.data管道中,并且一直坚持并行运行多个数据点的预处理。到目前为止,我已经尝试过这个:

  • Dataset.from_generator(gen)在生成器中使用并进行预处理;这是有效的,但它会按顺序处理每个数据点,无论我修补它的prefetchmap调用的排列如何。并行预取是不可能的吗?
  • 将预处理封装在 a 中,tf.py_function以便我可以map在我的数据集上并行处理,但是
    1. 这需要一些非常丑陋的(反)序列化才能将奇异类型放入字符串张量中,
    2. 显然, 的执行py_function将移交给(单进程)python 解释器,所以我会坚持使用 python GIL,这对我没有多大帮助
  • 我看到你可以做一些技巧,interleave但没有发现任何没有前两个想法的问题。

我在这里错过了什么吗?我是否被迫修改我的预处理以便它可以在图形中运行,或者有没有办法对其进行多处理?

我们以前这样做的方法是使用 keras.Sequence ,它运行良好,但推动tf.dataAPI升级的人太多了。(地狱,甚至尝试 keras.Sequence with tf 2.2 yields WARNING:tensorflow:multiprocessing can interact badly with TensorFlow, causing nondeterministic deadlocks. For high performance data pipelines tf.data is recommended.

注意:我使用的是 tf 2.2rc3

python tensorflow tensorflow-datasets tensorflow2.0

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

FastAPI 没有异步行为

我可能没有正确理解 FastAPI 中的异步概念。

我同时从两个客户端访问以下应用程序的根端点。我希望 FastAPIStarted在执行开始时连续打印两次:

from fastapi import FastAPI
import asyncio

app = FastAPI()

@app.get("/")
async def read_root():
    print('Started')
    await asyncio.sleep(5)
    print('Finished')
    return {"Hello": "World"}
Run Code Online (Sandbox Code Playgroud)

相反,我得到以下内容,它看起来非常非异步:

Started
Finished
INFO: ('127.0.0.1', 49655) - "GET / HTTP/1.1" 200
Started
Finished
INFO: ('127.0.0.1', 49655) - "GET / HTTP/1.1" 200
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

python-3.x fastapi

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

验证MSE损失与验证MSE指标不同

我用Keras(带有theano后端)编写了一个模型,并像这样编译我的模型:model.compile(Adam(0.001), loss='mse', metrics=['mse', 'mae'])即,我的目标损失函数是均方误差,要报告的指标是均方误差均绝对误差

然后运行我的模型: model.fit(X_train, y_train, nb_epoch=500, validation_data=(X_test, y_test))

Keras将结果报告为:

时代500/500:0s-损失:5.5990-mean_squared_error:4.4311-mean_absolute_error:0.9511-val_loss:7.5573-val_mean_squared_error:6.3877-val_mean_absolute_error:1.1335

我期望val_lossval_mean_squared_error相同。什么是val_loss这里如果不val_mean_squared_error

neural-network keras

5
推荐指数
0
解决办法
869
查看次数

当使用 -m 运行 python 脚本时,为什么不调用 __init__.py?

我有一个这样的目录结构:

root/
    __init__.py
    moduleA/
        __init__.py  # prints "hello"
        myscript.py
Run Code Online (Sandbox Code Playgroud)

如果我python -m moduleA.myscriptroot目录运行,hello将会打印出来。但是,如果我python -m myscriptmoduleA目录运行,则不会。

__init__.py为什么执行时当前目录下的which没有python -m被调用?

python python-2.7

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

通过在 __init__.py 中导入子包跳过导入路径中的目录名称

我对__init__.py. 说我有这个结构:

package
??? __init__.py
??? subpackage
    ??? __init__.py
    ??? dostuff.py
Run Code Online (Sandbox Code Playgroud)

我想导入dostuff.py. 我可以这样做:from package.subpackage.dostuff import thefunction,但我想删除subpackage导入语句中的级别,因此它看起来像这样:

package
??? __init__.py
??? subpackage
    ??? __init__.py
    ??? dostuff.py
Run Code Online (Sandbox Code Playgroud)

我试着把它放进去package/__init__.py

from package.dostuff import thefunction
Run Code Online (Sandbox Code Playgroud)

我不明白的是:

from .subpackage import dostuff
Run Code Online (Sandbox Code Playgroud)

为什么会这样,我该如何from package.dostuff import thefunction工作?

python python-3.x

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

强制Sphinx用Python文档字符串解释Markdown而不是reStructuredText

我正在使用Sphinx来记录python项目。我想在我的文档字符串中使用Markdown格式化它们。即使使用recommonmark扩展名,它也仅涵盖.md手动编写的文件,而不包括文档字符串。

我使用autodocnapoleonrecommonmark在我的扩展。

如何在我的文档字符串中使Sphinx解析markdown

python markdown python-sphinx

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