小编Ham*_*mza的帖子

如何“交换”字符串中的单词(多个字符)?

考虑以下示例:

string_now = 'apple and avocado'
stringthen = string_now.swap('apple', 'avocado') # stringthen = 'avocado and apple'
Run Code Online (Sandbox Code Playgroud)

和:

string_now = 'fffffeeeeeddffee'
stringthen = string_now.swap('fffff', 'eeeee') # stringthen = 'eeeeefffffddffee'
Run Code Online (Sandbox Code Playgroud)

在 Python 中交换字符串字符中讨论的方法不起作用,因为其中使用的映射技术仅考虑一个字符。Python 的内置功能str.maketrans()也只支持单字符翻译,当我尝试执行多个字符翻译时,它会抛出以下错误:

Traceback (most recent call last):
  File "main.py", line 4, in <module>
    s.maketrans(mapper)
ValueError: string keys in translate table must be of length 1
Run Code Online (Sandbox Code Playgroud)

方法链replace()不仅远非理想(因为我有很多替换要做,链接替换将是一大块代码),而且由于其顺序性质,它不会将事情完美地翻译为:

string_now = 'apple and avocado'
stringthen = string_now.replace('apple', 'avocado').replace('avocado', 'apple')
Run Code Online (Sandbox Code Playgroud)

给出'apple and apple'而不是'avocado and apple'. …

python string python-3.x

10
推荐指数
2
解决办法
8628
查看次数

Grover 模型的多 GPU 训练

我正在尝试使用 tensorflow==1.13.1 在多个 GPU 上训练Grover 的鉴别器模型。该模型的默认配置假设在多个 TPU 上进行训练,并被证明适用于具有多个 TPU 的系统。然而,由于 TPU 不可用,我试图通过使用 tensorflow 分布策略更改模型的运行配置来将训练分布在多个 GPU 上,如下所示:

dist_strategy = tf.contrib.distribute.MirroredStrategy(
        num_gpus=8,
        cross_device_ops=AllReduceCrossDeviceOps('nccl', num_packs=8),
        # cross_device_ops=AllReduceCrossDeviceOps('hierarchical_copy')
)
Run Code Online (Sandbox Code Playgroud)

然后我尝试更改 GPU 的运行配置,如下所示:

 run_config = RunConfig(
        train_distribute=dist_strategy,
        eval_distribute=dist_strategy,
        log_step_count_steps=log_every_n_steps,
        model_dir=FLAGS.output_dir,
        save_checkpoints_steps=FLAGS.iterations_per_loop)
Run Code Online (Sandbox Code Playgroud)

它似乎正确分配数据(我可以通过 GPU 使用情况和其他指标来判断),但是在收集梯度时它失败并出现以下错误:

ValueError: You must specify an aggregation method to update a MirroredVariable in Replica Context.
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是,我在分发策略中提供了跨设备操作。对我来说,最终的解决方案似乎是使用分布策略代码修改损失函数,但我认为它应该可以与 TPU 一起使用。任何帮助表示高度赞赏!

python gpu training-data tensorflow

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

在写入分隔文件时,如何将数据帧的浮动列格式化为所需的小数位?

因此,我的数据框有一堆定价列,其中包含 16 美元 99 美分的 16.99 等值。我希望我的定价准确到几美分。但在将其导出到 csv 时,如果美分是 10 的倍数(例如 16.50 变成 16.5),它会通过删除最后一个零来截断定价。对其进行格式化,甚至格式化然后将其解析为字符串都没有帮助:

for col in df.columns:
    if col.__contains__('USD'):
        df[col] = '$'+df[col].round(decimals=2).astype(str).str.strip()
df.to_csv('pricing.txt', '\t')
Run Code Online (Sandbox Code Playgroud)

无论我将多少小数作为参数传递给那里,它都不起作用。当前的解决方法是编写一个具有条件格式的单独函数,但有没有办法通过pandas自身来完成此操作。

python rounding pandas

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

如何在 Simulink 中的同一个图形(子图)中绘制多个函数?

与我们在 MATLAB 中使用 subplot 命令在单个图中绘制多个图类似,如何使用 Simulink 在同一图中绘制不同的图?

笔记:

  • 我不是在问多重绘图,我已经知道如何使用向量连接+范围来做到这一点,但它给了我压倒性的绘图。我无法找到一种方法可以为每个函数提供单独的子图。

有什么帮助吗?

matlab plot simulink subplot

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