我最近安装了权重和偏差(wandb)来记录我的机器学习项目的指标。连接到 wandb 云实例或使用本地 Docker 映像时,一切正常。现在,当我尝试通过网络访问本地 wandb 实例时,我开始收到 API 错误消息。但是,我还注意到 wandb 尝试使用端口 80 而不是 8080 访问我的服务器。我在新的云服务器上安装了 wandb 客户端,并尝试从那里访问我的服务器。尽管如此,同样的错误消息如下所示。
当我使用以下命令时会发生此错误:wandb login host=https://api.wandb.ai
我尝试删除存储 api 设置的 .netrc 文件并重新安装 wandb。还是同样的错误。在 Ubuntu 18.04 上使用 wandb 版本 0.10.2;另外,尝试降级到版本0.8.36,没有变化。如果我尝试命令:wandb login --relogin,我会得到同样的错误。
有没有办法重置 wandb,使其忘记所有这些设置,或者直接解决此问题?
非常感谢
此致,
阿迪尔
Retry attempt failed:
Traceback (most recent call last):
File "/media/adeel/Space/AI/anaconda3/envs/tf2_gpu/lib/python3.7/site-packages/urllib3/connection.py", line 160, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "/media/adeel/Space/AI/anaconda3/envs/tf2_gpu/lib/python3.7/site-packages/urllib3/util/connection.py", line 84, in create_connection
raise err
File "/media/adeel/Space/AI/anaconda3/envs/tf2_gpu/lib/python3.7/site-packages/urllib3/util/connection.py", line 74, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 Airflow 2.0 REST API 触发新的 dag 运行。如果我登录到远程计算机上的 Airflow Web 服务器并转到 swagger 文档页面来测试 API,则调用成功。如果我注销或者 API 调用是通过 Postman 或curl 发送的,那么我会收到 403 禁止消息。无论我是否提供 Web 服务器用户名密码,curl 或 postman 都会收到相同的 403 错误消息。
curl -X POST --user "admin:blabla" "http://10.0.0.3:7863/api/v1/dags/tutorial_taskflow_api_etl/dagRuns" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"conf\":{},\"dag_run_id\":\"string5\"}"
{
"detail": null,
"status": 403,
"title": "Forbidden",
"type": "https://airflow.apache.org/docs/2.0.0/stable-rest-api-ref.html#section/Errors/PermissionDenied"
}
Run Code Online (Sandbox Code Playgroud)
API 的安全性已更改为默认值,而不是 deny_all (auth_backend = airflow.api.auth.backend.default)。Airflow 的安装是使用 ubuntu 18 Bionic 使用 pip 完成的。如果手动或计划触发,DAG 运行良好。数据库后端是postgres。
还尝试将 cookie 详细信息从 Chrome 复制到邮递员中以解决此问题,但它不起作用。
这是上述两个调用的 Web 服务器日志。
airflowWebserver_container | 10.0.0.4 - - [05/Jan/2021:06:35:33 …Run Code Online (Sandbox Code Playgroud) 我正在使用 REST API 将参数传递给基于任务流的 Dag。看看这个论坛上提出的类似问题,下面似乎是访问传递参数的常用方法。
#From inside a template field or file:
{{ dag_run.conf['key'] }}
#Or when context is available, e.g. within a python callable of the PythonOperator:
context['dag_run'].conf['key']
Run Code Online (Sandbox Code Playgroud)
我试图获取上下文字典
@dag(default_args=default_args, schedule_interval=None, start_date=days_ago(2), params=None)
def classic_xgb(**context):
"""
### TaskFlow API Tutorial Documentation
[here](https://airflow.apache.org/docs/stable/tutorial_taskflow_api.html)
"""
@task()
def extract():
print("context is ", context)
Run Code Online (Sandbox Code Playgroud)
输出是 <airflow.models.dagparam.DagParam object at 0x7f735c634510> 现在我如何获得作为输入参数传递给 Dag 的 conf 字典?我需要在我的 python 代码中使用参数,因此模板选项对我来说似乎不可行。
非常感激任何的帮助。
谢谢
此致,
阿迪尔