鱼C论坛

 找回密码
 立即注册
查看: 130|回复: 8

添加语句后报错

[复制链接]
发表于 2024-11-6 20:43:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
HF_ENDPOINT = https://hf-mirror.com python
from transformers import BertTokenizer
model_name = 'bert-large-uncased' # If possible, use "bert-large-uncased"
tokenizer = BertTokenizer.from_pretrained(model_name)#加载特定的预训练模型tokenizer
报错
  Cell In[3], line 1
    HF_ENDPOINT=https://hf-mirror.com python
                     ^
SyntaxError: invalid syntax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-11-6 20:44:05 | 显示全部楼层
在您的代码中,您可能希望通过设置 `HF_ENDPOINT` 去自定义 Hugging Face Transformers 的 API 端点,但是直接在 Python 代码中添加这样的语句会导致语法错误。正确的做法是:

1. 确保 `HF_ENDPOINT` 是一个字符串,应该用引号括起来。
2. 通常这是通过环境变量设置的,而不是直接在代码中设置。

以下是设置环境变量的方法:

### 通过命令行执行代码:

在运行 Python 脚本之前,在命令行中设置环境变量:
export HF_ENDPOINT=https://hf-mirror.com
python your_script.py

### 在 Windows 命令行中:
set HF_ENDPOINT=https://hf-mirror.com
python your_script.py

### 在代码中(不推荐):

如果确实需要在代码中设置,可以使用 `os.environ`:
import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'

from transformers import BertTokenizer
model_name = 'bert-large-uncased'
tokenizer = BertTokenizer.from_pretrained(model_name)

如果问题未解决,请检查以下几点:

- 确保 `transformers` 库已正确安装:`pip install transformers`
- 检查网络连接,因为下载模型需要访问互联网。
- 确认 Hugging Face 的端点地址是正确的。

希望这些建议能帮您解决问题!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-6 20:55:15 | 显示全部楼层
FishC 发表于 2024-11-6 20:44
在您的代码中,您可能希望通过设置 `HF_ENDPOINT` 去自定义 Hugging Face Transformers 的 API 端点,但是 ...
'HF_ENDPOINT'== 'https://hf-mirror.com'
from transformers import BertTokenizer
model_name = 'bert-large-uncased' # If possible, use "bert-large-uncased"
tokenizer = BertTokenizer.from_pretrained(model_name)#加载特定的预训练模型tokenizer
还是报错
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
Cell In[7], line 4
      2 from transformers import BertTokenizer
      3 model_name = 'bert-large-uncased' # If possible, use "bert-large-uncased"
----> 4 tokenizer = BertTokenizer.from_pretrained(model_name)#加载特定的预训练模型tokenizer

File /opt/conda/lib/python3.10/site-packages/transformers/tokenization_utils_base.py:2200, in PreTrainedTokenizerBase.from_pretrained(cls, pretrained_model_name_or_path, cache_dir, force_download, local_files_only, token, revision, trust_remote_code, *init_inputs, **kwargs)
   2197 # If one passes a GGUF file path to `gguf_file` there is no need for this check as the tokenizer will be
   2198 # loaded directly from the GGUF file.
   2199 if all(full_file_name is None for full_file_name in resolved_vocab_files.values()) and not gguf_file:
-> 2200     raise EnvironmentError(
   2201         f"Can't load tokenizer for '{pretrained_model_name_or_path}'. If you were trying to load it from "
   2202         "'https://huggingface.co/models style="color:rgb(175,0,0)">', make sure you don't have a local directory with the same name. "
   2203         f"Otherwise, make sure '{pretrained_model_name_or_path}' is the correct path to a directory "
   2204         f"containing all relevant files for a {cls.__name__} tokenizer."
   2205     )
   2207 for file_id, file_path in vocab_files.items():
   2208     if file_id not in resolved_vocab_files:

OSError: Can't load tokenizer for 'bert-large-uncased'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'bert-large-uncased' is the correct path to a directory containing all relevant files for a BertTokenizer tokenizer.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-6 21:23:04 | 显示全部楼层
Terence888 发表于 2024-11-06 20:55
'HF_ENDPOINT'== 'https://hf-mirror.com'
from tran ...


从错误信息来看,您的代码无法加载 Hugging Face 预训练模型 `bert-large-uncased` 的分词器 (`tokenizer`)。问题的主要原因有以下几点,您可以依次确认:

1. **网络连接与权限**:确保您的计算机能够访问互联网,因为模型与分词器需要从 Hugging Face 服务器下载。

2. **Hugging Face 账户与身份验证**:如果您有 Hugging Face 账户且模型是私有的,确保已进行身份验证。可以在终端中执行以下命令登录 Hugging Face:
huggingface-cli login

3. **本地目录冲突**:检查当前目录下是否存在名为 `bert-large-uncased` 的文件夹。如果有,请将其更名或删除,以避免与远程模型下载冲突。

4. **设置镜像端点**:如果需要使用特定的镜像,比如 `https://hf-mirror.com`,建议在运行环境中通过环境变量设置,而不是在脚本内。

import os
   os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
   from transformers import BertTokenizer
   model_name = 'bert-large-uncased'
   tokenizer = BertTokenizer.from_pretrained(model_name)

5. **缓存清理**:在模型缓存目录中,可能存在损坏文件,您可以尝试清除缓存重新下载。Hugging Face 的缓存通常位于 `~/.cache/huggingface/transformers`,可以删除其中的内容尝试重新下载。

通过以上步骤逐一排查与调整,应该能解决此问题。如果问题持续存在,您可以尝试使用其他的网络环境以排除网络原因。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-6 21:24:43 | 显示全部楼层
FishC 发表于 2024-11-6 20:44
在您的代码中,您可能希望通过设置 `HF_ENDPOINT` 去自定义 Hugging Face Transformers 的 API 端点,但是 ...

还是报错
--------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
Cell In[28], line 5
      3 from transformers import BertTokenizer
      4 model_name = 'bert-large-uncased' # If possible, use "bert-large-uncased"
----> 5 tokenizer = BertTokenizer.from_pretrained(model_name)#加载特定的预训练模型tokenizer

File /opt/conda/lib/python3.10/site-packages/transformers/tokenization_utils_base.py:2200, in PreTrainedTokenizerBase.from_pretrained(cls, pretrained_model_name_or_path, cache_dir, force_download, local_files_only, token, revision, trust_remote_code, *init_inputs, **kwargs)
   2197 # If one passes a GGUF file path to `gguf_file` there is no need for this check as the tokenizer will be
   2198 # loaded directly from the GGUF file.
   2199 if all(full_file_name is None for full_file_name in resolved_vocab_files.values()) and not gguf_file:
-> 2200     raise EnvironmentError(
   2201         f"Can't load tokenizer for '{pretrained_model_name_or_path}'. If you were trying to load it from "
   2202         "'https://huggingface.co/models style="color:rgb(175,0,0)">', make sure you don't have a local directory with the same name. "
   2203         f"Otherwise, make sure '{pretrained_model_name_or_path}' is the correct path to a directory "
   2204         f"containing all relevant files for a {cls.__name__} tokenizer."
   2205     )
   2207 for file_id, file_path in vocab_files.items():
   2208     if file_id not in resolved_vocab_files:

OSError: Can't load tokenizer for 'bert-large-uncased'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'bert-large-uncased' is the correct path to a directory containing all relevant files for a BertTokenizer tokenizer.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-6 21:25:53 | 显示全部楼层
Terence888 发表于 2024-11-06 21:24
还是报错------------------------------------------ ...


抱歉问题依旧存在,下面是一些进一步的建议:

1. **检查Transformers版本**:
   - 确保您的`transformers`库版本是最新的,您可以运行以下命令来更新:
   
pip install --upgrade transformers

2. **确保网络访问托管模型的路径**:
   - 您可以尝试通过浏览器直接访问`https://huggingface.co/bert-large-uncased`来检查模型是否可用。如果能打开,模型应该是可访问的。

3. **更换网络环境**:
   - 有时候公司或学校的网络会限制外部资源的访问,可以切换到不同的网络环境来排除网络问题。

4. **缓存清理和重试**:
   - 清理掉`~/.cache/huggingface`中的缓存数据,并再次尝试下载。
   - 清理方法:
   
rm -r ~/.cache/huggingface

5. **指定`use_auth_token`参数(如有需要)**:
   - 如果模型需要身份验证,可以尝试使用你的 Hugging Face token:
   
from transformers import BertTokenizer
     model_name = 'bert-large-uncased'
     tokenizer = BertTokenizer.from_pretrained(model_name, use_auth_token=True)

6. **本地文件问题**:
   - 确保在您的执行目录中没有与模型同名的文件夹(例如,`bert-large-uncased`)。
   - 如果有同名文件夹,可以临时重命名或移动它们。

通过这些方法,应该可以解决大多数模型下载的问题。如果依然存在问题,可以尝试联系 Hugging Face 社区或检查其GitHub上的问题追踪项目以获取帮助。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-6 21:35:07 | 显示全部楼层
FishC 发表于 2024-11-6 21:25
抱歉问题依旧存在,下面是一些进一步的建议:

1. **检查Transformers版本**:
!pip install huggingface_hub
from huggingface_hub import notebook_login
notebook_login()
from transformers import BertTokenizer
model_name = 'bert-large-uncased' 
BertTokenizer.push_to_hub('bert-large-uncased')

tokenizer = BertTokenizer.from_pretrained(model_name)#加载特定的预训练模型tokenizer
新的报错
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[32], line 6
      4 from transformers import BertTokenizer
      5 model_name = 'bert-large-uncased' 
----> 6 BertTokenizer.push_to_hub('bert-large-uncased')
      8 tokenizer = BertTokenizer.from_pretrained(model_name)#加载特定的预训练模型tokenizer

TypeError: PushToHubMixin.push_to_hub() missing 1 required positional argument: 'repo_id'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-6 22:04:22 | 显示全部楼层
Terence888 发表于 2024-11-06 21:35
!pip install huggingface_hub
from huggingface_hub ...


您遇到的错误 `TypeError` 是因为在调用 `push_to_hub()` 方法时,缺少必需的参数 `repo_id`。这个方法用于将模型或分词器推送到 Hugging Face Hub,但需要指定推送到哪个仓库。下面是正确的方法:

### 代码修正

1. **登录 Hugging Face 账户**(如果尚未登录):
!pip install huggingface_hub
from huggingface_hub import notebook_login

notebook_login()  # 执行这行代码后,在弹出的界面登录,或输入 token

2. **推送模型或分词器到 Hugging Face Hub**:

如果您想将分词器推送到您的 Hugging Face 账户,请确保您有创建或推送到的仓库权限:
from transformers import BertTokenizer

model_name = 'bert-large-uncased'
tokenizer = BertTokenizer.from_pretrained(model_name)

# 指定您想要推送的仓库 ID,格式通常是 "用户/仓库名"
repo_id = 'your_username/bert-large-uncased'

# 推动tokenizer到您的HuggingFace Hub仓库中
tokenizer.push_to_hub(repo_id)

3. **加载模型或分词器**:

确保仓库已经存在并能够从中加载模型或分词器:
from transformers import BertTokenizer

# 从HuggingFace Hub加载已经上传的分词器
tokenizer = BertTokenizer.from_pretrained(repo_id)  # 使用之前指定的 repo_id

### 重要提示

- **repo_id**:应为您要推送的目标仓库的名称,通常格式为 `"用户名/仓库名"`。
- **权限**:确保您的 Hugging Face 账户有推送到指定仓库的权限。
- **网络连接**:确保您的计算机能正常访问 Hugging Face Hub,并且已配置好相应代理(如果需要)。

如果以上方法仍出现问题,请检查您的 Hugging Face 账户权限和仓库设置。也可以参考 [Hugging Face 文档](https://huggingface.co/docs/hub/index) 以获得更多信息。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-7 08:57:44 | 显示全部楼层
请给你的网址加上双引号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 12:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表