当前位置: 首页 > wzjs >正文

淮北 网站建设 有限公司品牌推广广告

淮北 网站建设 有限公司,品牌推广广告,专业网页制作与网站设计,适合企业做外贸的几个网站前言 只对之前这篇文章进行了补充 403 Forbidden问题的解决 这几天用了一下ESMC-6B的API,发现被403 forbidden了 排查问题查来查去,发现需要翻墙才可以访问(怎么又被针对了) 于是就需要在服务器上面接入VPN,想了想…

前言

只对之前这篇文章进行了补充

403 Forbidden问题的解决

这几天用了一下ESMC-6B的API,发现被403 forbidden了

排查问题查来查去,发现需要翻墙才可以访问(怎么又被针对了)

于是就需要在服务器上面接入VPN,想了想太麻烦,就直接使用ssh转发

首先在本地机上运行以下命令,建立ssh反向连接

ssh -R 127.0.0.1:7890:127.0.0.1:7890 user@remote_server.com

然后在服务器的screen终端上运行以下代码,把该终端的网络代理全部使用7890端口发送

export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890

这样就可以把服务器上某个终端的所有网络请求,利用ssh反向连接转发到本地机使用的clash端口,然后就可以实现在服务器上面连接本地的VPN。

多线程优化API调用

评价是把计网的知识忘完了

其实优化方式还有利用多线程加速(我真呆,之前没想到这个),官方在2025年1月份的更新中加入了这个教程。

这个的效果好像还可以,下午跑了1小时40分钟,跑了6600+组,平均下来大概1秒1组

关于token审核,我大概等了一个多月才审核通过。。。实在不行的同学就再等等吧。。。

另外注意长度限制,超过2048长度的蛋白质无法进行embedding接口的调用。

代码

使用的是esm 3.1.3库

from esm.sdk import client
from getpass import getpass
from concurrent.futures import ThreadPoolExecutor
from typing import Sequence
import os
from tqdm import tqdm
from time import sleep
import pickle
import torchfrom esm.sdk.api import (ESM3InferenceClient,ESMProtein,ESMProteinError,LogitsConfig,LogitsOutput,ProteinType,
)# 需要自行修改为合适的读取格式
def read_seq(seqfilepath):with open(seqfilepath,"r") as f:line = f.readline()seq = f.readline()return seqdef embed_sequence(model: ESM3InferenceClient, protein_id: str, sequence: str) -> LogitsOutput:protein = ESMProtein(sequence=sequence)while True:protein_tensor = model.encode(protein)if isinstance(protein_tensor,ESMProteinError):print(protein_tensor)sleep(1)continuebreakwhile True:logits_output = model.logits(protein_tensor, LogitsConfig(sequence=True, return_embeddings=True))if isinstance(logits_output,ESMProteinError):print(logits_output)sleep(1)continuebreakreturn protein_id, logits_output.embeddings.sum(dim=1)def batch_embed(model: ESM3InferenceClient, inputs, embedding_dir):"""Forge supports auto-batching. So batch_embed() is as simple as running a collectionof embed calls in parallel using asyncio."""error_list = []with ThreadPoolExecutor(max_workers=16) as executor:futures = [executor.submit(embed_sequence, model, protein_id, inputs[protein_id]) for protein_id in inputs.keys()]all = len(futures)for i,future in enumerate(futures):try:protein_id, emb = future.result()with open(os.path.join(embedding_dir,protein_id,"origin_seq_emb_6b.pkl"),"wb") as f:pickle.dump(emb,f)print(i,"/",all," Success ",protein_id)except Exception as e:print(i,"/",all,f" Error: {e}")error_list.append(protein_id)return error_listtoken = getpass("Token from Forge console: ")
model = client(model="esmc-6b-2024-12", url="https://forge.evolutionaryscale.ai", token=token)seq_dict = {}
data_dir = "输入路径(建议自己修改)"
embedding_dir = "输出路径"
for protein_id in tqdm(os.listdir(data_dir)):seq_path = os.path.join(data_dir,protein_id,"seq.fasta")seq = read_seq(seq_path)if len(seq) > 2048:continueif os.path.exists(os.path.join(embedding_dir,protein_id,"origin_seq_emb_6b.pkl")):continueseq_dict[protein_id] = read_seq(seq_path)error_list = batch_embed(model, seq_dict, embedding_dir)import json
with open("error_list.json","w") as f:json.dump(error_list,f,indent=4)

http://www.dtcms.com/wzjs/829434.html

相关文章:

  • 常州市网站建设网络营销计划包括哪七个步骤
  • 用myeclipse做网站北京装修公司排名前十名
  • 东莞seo网站关键词优优化企业网络营销培训
  • 阿里巴巴网站中详情页怎么做链接关系 网站层次结构
  • 网站营销应该怎么做嘉定华亭网站建设
  • 有没有大人和小孩做的网站wordpress 定时采集
  • 网站运营问题便民的网站app怎么做
  • 网站运营是具体的大型的网站建设公司
  • 佛山市企业网站seo营销工具珠海电商网站制作
  • 产品介绍网站如何做seowordpress 全局变量
  • 十堰网站建设怎么样seo及网络推广
  • 襄阳建设路21号创意园网站做网站得花多钱
  • 网站建设 今晟网络外贸精品网站建设
  • 外卖平台做网站最大上传大小wordpress
  • vps建两个网站要两个程序池吗wordpress主页广告
  • 宝钢建设工程有限公司网站自助搭建网站
  • 华为手机官方网站登录聊城做网站找谁
  • 西安网站建设 招聘做网站需要几个程序
  • 有关网站建设的外文参考文献注册安全工程师职业资格制度规定
  • 中小企业的网站建设方案seo排名网站 优帮云
  • 网站建设珠海 新盈科技公司网站建设公司济南
  • 网页制作成品网站自己做婚恋网站
  • 邢台企业做网站报价公司网站运营维护单位
  • wordpress 网站底部美化线下推广平台有哪些
  • 怎么查网站备案域名国外有哪些设计网站推荐
  • 南京制作网站要多少钱网页搭建
  • 免费图片素材网站有哪些网站的域名能修改么
  • 怎么写网站建设与运营河南中州路桥建设有限公司网站
  • 微信同城小程序开发教程东莞百度搜索优化
  • 建筑资料网站大全创建网站基本步骤