分类: 末日补丁

这个世界不完美,甚至有点病态。但没关系,总能找个方法给它上补丁,达到也还行,又不是不能用的状态。

  • Whisper 在 Windows 上的安装指南及 GPU 使用问题解决

    Whisper 在 Windows 上的安装指南及 GPU 使用问题解决

    我在尝试按照 Whisper 的官方文档在 Windows 上进行安装时,遇到了一个棘手的问题:无法使用 GPU。经过调查和错误信息的搜集,我发现问题的根源在于官方文档中推荐的 PyTorch 安装版本有误,导致 CUDA 无法正常调用。

    你可能会遇到 RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device(‘cpu’) to map your storages to the CPU.

    为了帮助大家避免这个问题,并顺利在 Windows 上使用 Whisper,我写了这篇教程。希望对在找解决方案你有所帮助!

    安装方法

    1 安装 whisper

    pip install -U openai-whisper

    2 安装 ffmepg

    去官网下载就可以了 https://ffmpeg.org/

    如果你有代理,直接用 choco 安装也很方便, choco install ffmpeg

    3 安装可以使用cuda的pytorch

    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

    如果你想安装其他版本的pytorch,可以在官网找到安装命令 https://pytorch.org/get-started/locally/

    测试方法

    在命令行使用whisper -h,如果options中–device最后显示为cuda说明可以调用gpu了。

    否则会出现 DEVICE device to use for PyTorch inference (default: cpu)。


    看到这里你应该就安装成功了,再送你一个我为课程生成字幕的命令。

  • Whisper 使用指南(包含参数介绍)

    Whisper 使用指南(包含参数介绍)

    OpenAI的Whisper是一款优秀的开源语音转文本工具,特别适用于制作字幕。

    不过在其官方网站上,我们很难找到关于其参数的详细使用方法,这无疑给很多用户带来了困惑。为此,我深入研究,发现只有在直接调用Whisper的帮助功能时,才能查看到所有参数的详细介绍。为了方便大家,我决定整理并发布这份参数使用指南,希望能够帮助更多的用户轻松上手Whisper。

    如果你不研究使用参数,可以直接参考我觉得很好用的完整命令。

    使用方法

    whisper [选项] ./example_audio.mp3

    例如: whisper –model large-v2 -o ./sub ./example_audio.mp3

    可以通过修改这些选项,来调整生成效果。

    位置参数:

    • audio: 需要转录的音频文件路径。

    选项:

    基础设置

    • -h, --help: 显示帮助信息。
    • --model: 选择 Whisper 模型,如 tiny, base, small, medium, large 等,默认为 small。
    • --model_dir: 模型文件保存路径,默认在 ~/.cache/whisper
    • --device: 运行设备选择,默认为 cuda。

    输出设置

    • -o, --output_dir: 输出文件保存目录,默认为当前文件夹。
    • -f, --output_format: 输出文件格式,如 txt, vtt, srt, tsv, json 或 all,默认为 all。

    详细设置

    • --verbose: 是否显示进度和调试信息,默认为 True。
    • --task: 选择任务类型,转录(transcribe)或翻译(translate), 默认为转录。

    语言选项

    • --language: 音频中的语言,可自动检测(默认)。

    解码与采样

    • --temperature: 采样温度,默认为 0。
    • --best_of: 采样时的候选数,默认为 5。
    • --beam_size: 波束搜索的波束数量,默认为 5。

    高级设置

    • --patience: 波束解码的耐心值,默认为 1.0。
    • --length_penalty: 词长度惩罚系数,默认为无。
    • --suppress_tokens: 在采样期间禁用的 token 列表,默认为 -1。

    自定义提示

    • --initial_prompt: 第一个窗口的提示文本,默认为无。
    • --condition_on_previous_text: 是否在下一个窗口使用模型的前一次输出作为提示,默认为 True。

    性能优化

    • --fp16: 是否使用 16 位浮点数进行推断,默认为 True。

    高级失败恢复

    • --temperature_increment_on_fallback: 解码失败时增加的温度,默认为 0.2。
    • --compression_ratio_threshold: 若 gzip 压缩比高于此值,则视为解码失败,默认为 2.4。
    • --logprob_threshold: 若平均 log 概率低于此值,则视为解码失败,默认为 -1.0。

    实验性功能

    • --word_timestamps: 是否提取单词级时间戳,默认为 False。
    • --highlight_words: 是否在 srt 和 vtt 中标记每个单词,默认为 False。

    文本格式

    • --max_line_width: 每行最多字符数,默认为无。
    • --max_line_count: 每段最多行数,默认为无。

    线程

    • --threads: 用于 CPU 推断的线程数,默认为 0。
  • Code Interpreter 离线安装库(完整操作指南)

    Code Interpreter 离线安装库(完整操作指南)

    当你在 Code Interpreter 的虚拟环境中发现缺少某些库,而该环境又无法直接访问外部网络进行安装时,你可以选择离线安装的方法。以下提供了两种离线安装的方式:

    安装单个库

    1. 首先,访问PyPI官方网站
    2. 搜索并找到你需要的库,并下载对应的 .whl 文件。
    3. 将下载的 .whl 文件上传到Code Interpreter。
    4. 在Code Interpreter中,用GPT4生成安装指令。

    打包并上传所有依赖

    1. 使用 pip freeze > requirements.txt 来创建一个依赖列表。
    2. pip download -r requirements.txt --dest ./libs/ ,需要的文件就都在这个文件夹里了。
    3. 把libs打包,上传到Code Interpreter让gpt4解压并安装依赖。
  • 解决 Code Interpreter 无法显示中文的方法

    解决 Code Interpreter 无法显示中文的方法

    当你使用 Code Interpreter 进行数据可视化或画图时,可能会遇到一个尴尬的问题:图表中的中文字符被方框取代了。

    原因分析

    这是由于Code Interpreter 的虚拟环境缺少适当的中文字体所引起的。Code Interpreter 的虚拟环境默认可能不包含中文字体,因此当程序尝试渲染中文字符时,就会出现方框。

    解决方法

    1. 上传中文字体文件
      在你的虚拟环境中上传合适的中文字体文件。
    2. 在程序中引用上传的字体
      一旦字体文件被上传,确保在你的代码中正确引用这个字体,以确保中文能够被正确显示。

    推荐几种适合图表的中文字体:

    使用示例

  • 解决JetBrains IDE(PyCharm、IDEA、WebStorm)重构快捷键被微软拼音输入法占用的问题

    解决JetBrains IDE(PyCharm、IDEA、WebStorm)重构快捷键被微软拼音输入法占用的问题

    当我在PyCharm中尝试使用Shift + F6进行代码重构时,却发现这个快捷键失效了。经过一系列的调查和测试,我找到了原因和解决办法,想分享给大家,特别是那些可能遇到同样问题的朋友。

    太长不看:

    解决这个问题的方法其实很简单,只需要将输入法从微软拼音切换到美式键盘即可。这样,Shift + F6就可以正常工作了。

    解决问题过程

    发现无法直接用快捷键重构,其实也不是特别频繁,手动点了几次就感觉很蠢。只好去找原因了。

    先测试键盘按键,测试了相关按键,发现都是正常的。

    因此怀疑是软件冲突,搜索的时候就发现了有人提到了输入法的问题,然后检查了下,问题就解决了。

    https://answers.microsoft.com/zh-hans/windows/forum/all/win11/1f548aa0-5344-4ac4-83c8-afc28212d5d6

    https://youtrack.jetbrains.com/issue/IDEA-322254

    竟然找不到能用的检测快捷键软件

    我希望找到一个好用的检测快捷键软件,而不是完全依赖搜索引擎。

    但遗憾的是,我用了OpenArk 1.3.0和PCHunter,都发现它们不能在Windows 11上查找快捷键。尽管我花了一个小时寻找,但还是没找到满意的工具。希望下次遇到类似问题时,可以有更好的工具来帮助我。

    总之,希望我的分享能帮助到你。如果你也遇到了类似的问题,不妨试试我的方法!也可以给我推荐一个能找到快捷键冲突的软件。

  • PotPlayer协议揭示:用户信息和播放视频都被记录

    PotPlayer协议揭示:用户信息和播放视频都被记录

    一开始,我以为PotPlayer只是一个弹出广告和收集崩溃数据的播放器。直到我第一次认真阅读用户协议,才发现它不仅能收集我的设备信息,还能记录我观看了哪些视频。

    根据协议原文中英对照翻译版

    第5条(数据和其他信息的收集和使用)

    (1) 公司可以收集和使用用户计算机上的数据作为其与软件相关的产品支持服务的一部分。可能收集的数据仅包括操作系统类型、CPU类型、内存容量、显卡类型、Directx版本、媒体播放器版本、摄像头类型以及用户计算机上使用的电视接收卡类型。
    (2) 公司将仅使用上述收集的数据来改进软件或提供适合用户环境的服务或技术,并不会将此类数据用于其他任何目的。

    第6条(数据传输技术使用协议)

    为了方便数据流传输,公司可能会使用一种技术,在其服务中的用户之间中继数据传输。用户在协议中同意,他或她可以将流媒体数据中继传输给另一个用户,并且也同意通过安装在用户计算机上的网络设备接收流媒体数据的中继传输给另一个用户。

    第7条(责任限制)

    (1) 公司不保证通过软件提供的数据和其他信息准确无误,也不保证其符合适用的版权法律,除非这些数据和信息是由公司直接创建或准备的。
    (2) 公司对用户因安装、使用或不使用软件而遭受的任何损失或损害不承担责任,除非该损失或损害是由公司的故意不当行为或重大过失造成的。
    (3) 公司对用户因使用软件而导致的实际或预期利润损失不承担任何责任。
    (4) 公司对于用户之间以及用户与第三方之间因使用软件而产生的任何争议概不负责,也不会有义务参与其中。

    PotPlayer End User License Agreement 部分条目翻译

    协议有什么潜在问题呢?

    假设开发者会为了自己的利益滥用协议,一旦你的数据被收集,你就失去了对它的控制权。这可能会导致一些不良后果。

    第5条(数据和其他信息的收集和使用)

    开发者可能会滥用这个条款,收集更多的用户数据,甚至可能包括用户的个人信息,然后将这些数据出售给第三方,以获取利润。

    第6条(数据传输技术使用协议)

    你可能会觉得这是普通的P2P声明,但实际测试之后,发现 PotPlayer 并不支持磁力链接和种子文件。

    开发者可能会利用这个条款,不仅仅是知道用户在看什么视频,还有可能让用户的计算机成为数据传输的中继站,这可能会消耗用户的网络资源,甚至可能会影响用户的网络速度。

    第7条(责任限制)

    开发者可能会利用这个条款,避免对用户因使用软件而遭受的损失或损害承担责任。他们可能会推卸责任,让用户承担所有的风险。

    PotPlayer的母公司是Daum

    SimilarWeb daum.net 受众兴趣

    根据SimilarWeb的数据,这个播放器的母公司Daum,它是韩国第二大搜索引擎,用户对电商和新闻感兴趣。

    搜索引擎靠广告赚钱,所以广告业务是他们的一部分。他们可能会用这些信息来改善服务,也可以用来推送广告,就像你的朋友突然向你强推安利产品。另一方面,他们可能会把信息卖给其他公司,就像你的朋友把你的秘密告诉别人,接着,更多人知道了你的小秘密。

    所以,如果你在意隐私问题,在使用这个播放器的时候,一定要注意保护好自己。

    如何阻止 PotPlayer 收集资料

    坏消息:很遗憾,官方并不提供这个选项。你可以开始卸载这款播放器了。

    好消息:你可以通过Windows防火墙来阻止Potplayer发送数据。更好的是,我之前已经写过一份简单的设置指南。

    参考资料

    PotPlayer End User License Agreement – https://potplayer.daum.net/publicRelation

    PotPlayer End User License Agreement – 中英对照翻译 – https://translate.go123.live/share-data/potplayer-end-user-license-agreement-zh-en.html

    SimilarWeb daum.net – https://www.similarweb.com/zh/website/daum.net

  • 炎热夏日如何让狗狗舒适入睡,同时保证自己的睡眠质量

    炎热夏日如何让狗狗舒适入睡,同时保证自己的睡眠质量

    在炎热的夏天,我希望我的狗狗也能够吹着空调睡觉。然而,有时候狗狗的一些动作,如挠痒、走路等,会影响到我的睡眠质量。那么,如何在保证狗狗舒适的同时,也能让自己享受到一个安静的夜晚呢?接下来,我将为大家分享一些实用的方法。

    适当增加狗狗的活动量

    特别是在晚上遛狗的时候。晚上多带狗狗出去走走,让它有足够的疲倦感,更容易让它在夜晚安静地入睡。

    给狗狗准备一个舒适的睡觉地点

    1. 房间的角落铺上柔软的垫子。确保这个地方离你的床有一定的距离,以减少狗狗的动作对你的影响。
    2. 开空调,将室内温度调节到24-26℃。降低狗狗因为炎热而产生的不适感。

    如何阻止狗狗跳到床上?

    我的方法很简单,每当狗狗跳上床时,我就把它放进外面的笼子里。重复几次,狗狗就会知道不能跳上床了。

    如何阻止狗狗跳到床上?(加强版)

    晚上睡觉的时候,狗狗虽然乖乖地睡在垫子上,但偶尔会在床旁边走动并尝试跳上床来舔我。为了更加彻底地阻止它跳上床,我决定采用加强版的阻止方法。

    我在卧室里放上网布折叠狗笼,睡觉的时候将它关进去。这样不仅可以让狗狗有一个舒适的睡眠环境,还能避免它晚上走动的噪音并彻底阻止它跳上床的行为,让我和狗狗都能享受更好的睡眠。

  • Windows 11 安装过程中的问题

    Windows 11 安装过程中的问题

    意外的U盘缩水

    我的U盘本来是64G的,在使用微软的官方工具(mediacreationtool.exe)制作启动盘后,被弄成了32G。

    还好顺利重装Windows 11了,我也懒得去恢复U盘容量了。

    跳过联网设置

    安装完成后,Windows 11 要联网才能继续设置,但是笔记本没有网卡驱动,出现”让我们为你连接到网络“,就没有任何网络选项,也没有跳过。在网上搜了一下,解决方法很简单:

    1. 按Shift+F10,调出命令行工具
    2. 然后输入,OOBE\BYPASSNRO
    3. 自动重启后,就能跳过联网了
  • 在 WINDOWS 11 上 SUPERMEMO 18 字体模糊的解决方法

    在 WINDOWS 11 上 SUPERMEMO 18 字体模糊的解决方法

    升级到 Windows 11 后,Supermemo 18 的工具栏显示变得模糊,使用起来非常不舒服。字体发虚、模糊并带锯齿,但这种情况只在 Supermemo 18 程序中出现,而其他程序(例如浏览器)中的字体则正常显示。

    解决方法是在属性的兼容性选项中修改高 DPI 设置,程序就能正常显示字体了。

    修改 Supermemo 18 的 高 DPI 设置
  • 禁止 PotPlayer 广告、发送数据(WINDOWS 11)

    禁止 PotPlayer 广告、发送数据(WINDOWS 11)

    最近,由于HDR颜色问题,我更新了一款古老的无广告PotPlayer。不过 PotPlayer 以前会弹广告,还会收集用户数据,检测了下最新的版本,依然如此。

    虽然PotPlayer没有提供关闭数据收集的选项,但在Windows上,我仍然认为它是最好用的免费播放器,比MPV、VLC之类的开源播放器界面好看、操作简单。

    但仔细阅读他的用户协议后,我发现它可不仅仅只是一个弹出广告和收集崩溃数据的播放器。那么 PotPlayer 会对你产生什么影响呢?

    那就用 Windows 防火墙管住它好了,接下来会展示效果和教你添加防火墙规则:

    效果

    抓包捕获到的数据

    potplayermini64.exe (***) – p2-play.edge4k.com(121.53.105.173):443 matching Default rule : direct connection

    抓包软件日志

    防火墙阻挡的记录

    DROP TCP *** 121.53.105.173 *** 443 0 – 0 0 0 – – – SEND ***

    C:\Windows\System32\LogFiles\Firewall\pfirewall.log

    手把手教学

    找到PotPlayer安装文件路径

    默认路径在C:\Program Files\DAUM\PotPlayer\PotPlayerMini64.exe

    配置防火墙

    打开防火墙的出站规则

    按 Win+S 搜索 防火墙
    点击高级设置

    添加禁止 PotPlayer 出站

    找到出站规则,点击新建规则
    规则类型,选择程序
    程序,默认路径在C:\Program Files\DAUM\PotPlayer\PotPlayerMini64.exe
    操作,选择阻止连接
    配置文件,选择所有规则
    名称,我用的是PotPlayer禁止发送

    恭喜,现在它是你的PotPlayer了。