小编din*_*gus的帖子

如何配置Vite开发服务器通过端口代理路径运行?

我正在尝试在基于云的开发环境中使用 Vite 开发服务器,我可以在其中提供服务并连接到端口,但需要通过代理路径访问它们。

相反,http://localhost:3000/index.html我会访问例如https://my.cool.example.com/proxy/3000/index.html。在幕后,云服务会翻译 URL 并通过以下方式代理连接: 因此,对于 Vite 来说,看起来我只是在请求/index.html.

...但是我尝试过的各种配置vite.config.js尚未使其正常工作:

  • 按照此答案base中建议的设置抱怨“服务器配置了公共基本 URL /proxy/3000/”
  • 其他几个不成功的实验server.baseproxy以及publicPath类似的

如何告诉 Vite 客户端和资产应该在请求上设置路径前缀,但服务器可以从 root 提供服务?

vue.js vite

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

如何反转 PyTorch 嵌入?

我在 PyTorch 中有一个多任务编码器/解码器模型,输入端有一个(可训练的)torch.nn.Embedding嵌入层。

在一项特定任务中,我想对模型进行自我监督预训练(以重新构建屏蔽输入数据)并将其用于推理(以填补数据空白)。

我想对于训练时间,我可以将损失作为输入嵌入和输出嵌入之间的距离来衡量……但是对于推理,我如何反转 anEmbedding以重建输出对应的正确类别/标记?我在 Embedding 类上看不到例如“最近的”函数......

autoencoder deep-learning pytorch

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

将关联或跟踪 ID 添加到 Python 日志调用

给定一个使用标准库日志记录的 Python 复杂应用程序,如下所示:

import logging

logger = logging.getLogger("mycomponent")

# (Split over multiple Python files/folders of course)

def do_a_really_specific_thing(x):
    if isinstance(x, int):
        logger.info("I'm doing a thing! %s", x)
        return 2 * x
    else:
        logger.error("Ignoring non-integer value %s", x)
        return 0

def run_a_task(task_input):
    return do_a_really_specific_thing(task_input.x)

def process_a_transaction(req):
    y = run_a_task(req.data)
    result = y + 1
    logger.info("Processed transaction %s", req.txn_id)
    return result
Run Code Online (Sandbox Code Playgroud)

是否有一些标准模式,无需编辑内部函数的代码do_a_really_specific_thing(),即可logging使用跟踪或相关 ID 等附加信息来装饰上下文中引发的任何标准事件?

我正在思考以下内容:

def process_a_transaction(req):
    with decorate_logs(txn_id=req.txn_id):
        y = run_a_task(req.data)
    return y + 1
Run Code Online (Sandbox Code Playgroud)

这似乎是一个非常标准的想法,但我遇到的文章似乎都涉及引入一些大型日志框架或其他工具。例如,此处使用 …

python logging

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

在 IPython '!command' 中混合 shell 变量和 python 变量

试图弄清楚 IPython(v7.12.0,在 Amazon SageMaker 上)上的这种行为是否是一个错误,或者我缺少一些正确的方法/记录的约束...

假设我有一些 Python 变量,例如:

NODE_VER = "v16.14.2"
NODE_DISTRO = "linux-x64"
Run Code Online (Sandbox Code Playgroud)

这些命令在笔记本中都可以正常工作:

!echo $PATH
# Shows **contents of system path**
!echo /usr/local/lib/nodejs/node-{NODE_VER}-{NODE_DISTRO}/bin:
# Shows /usr/local/lib/nodejs/node-v16.14.2-linux-x64/bin
Run Code Online (Sandbox Code Playgroud)

...但这并不:

!echo /usr/local/lib/nodejs/node-{NODE_VER}-{NODE_DISTRO}/bin:$PATH
# Shows:
# /usr/local/lib/nodejs/node-{NODE_VER}-{NODE_DISTRO}/bin:**contents of system path**
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几种组合,例如使用$NODE_VER语法代替(它生成node--/代替node-{NODE_VER}-{NODE_DISTRO}/,但似乎使用shell变量(PATH)和Python变量(NODE_VER/NODE_DISTRO)的任何组合都会失败。

谁能帮助我理解为什么以及如何解决它?

正如您可能已经猜到的那样,我的最终目标是实际将此文件夹添加到 PATH 而不是仅仅回显它 - 类似于:

!export PATH=/usr/local/lib/nodejs/node-{NODE_VER}-{NODE_DISTRO}/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

ipython jupyter-notebook jupyter-lab amazon-sagemaker

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