• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
思想人生从关注生活开始
博客园    首页    新随笔    联系   管理    订阅  订阅
02 2023 档案
使用 Flink 和 Kafka 构建数据管道-Java快速进阶教程

摘要:1. 概述 Apache Flink是一个流处理框架,可以很容易地与Java一起使用。Apache Kafka是一个支持高容错的分布式流处理系统。 在本教程中,我们将了解如何使用这两种技术构建数据管道。 2. 安装 要安装和配置 Apache Kafka,请参考官方指南。安装后,我们可以使用以下命令 阅读全文
posted @ 2023-02-27 10:26 JackYang 阅读(349) 评论(1) 推荐(1)
ChatGPT与openai

摘要:ChatGPT是openai推荐的优化对话的语言模型,是openai使用来自人类反馈的强化学习(RLHF)训练了这个模型,使用与InstructGPT相同的方法,但在数据收集设置上略有不同。 1)使用监督微调训练了一个初始模型:人类人工智能训练师提供对话,他们在其中扮演双方——用户和人工智能助手。 阅读全文
posted @ 2023-02-24 13:40 JackYang 阅读(1096) 评论(1) 推荐(1)
RoaringBitmap使用指南-Java快速入门教程

摘要:1. 概述 在本教程中,我们将了解RoaringBitmap。我们将使用对一组的一些基本操作作为RoaringBitmap的示例。此外,我们将在 Java 中的RoaringBitmap和BitSet之间执行性能测试。 2. RoaringBitmap简介 RoaringBitmap数据结构由于其高 阅读全文
posted @ 2023-02-24 12:24 JackYang 阅读(1954) 评论(1) 推荐(1)
BitSet使用指南-Java快速入门教程

摘要:1. 概述 在本教程中,我们将了解如何使用BitSets来表示位向量。 首先,我们将从不使用布尔数组背后的基本原理开始。然后在熟悉BitSet内部之后,我们将仔细研究它的API。 2. 位数组 为了存储和操作位数组,有人可能会争辩说我们应该使用布尔数组作为我们的数据结构。乍一看,这似乎是一个合理的建 阅读全文
posted @ 2023-02-24 12:11 JackYang 阅读(1295) 评论(1) 推荐(1)
Apache Flink with Java 简介-Java快速进阶教程

摘要:1. 概述 Apache Flink是一个大数据处理框架,允许程序员以非常高效和可扩展的方式处理大量数据。 在本文中,我们将介绍Apache FlinkJava API 中提供的一些核心 API 概念和标准数据转换。这个 API 的流畅风格使得使用 Flink 的中心结构——分布式集合变得容易。 首 阅读全文
posted @ 2023-02-24 12:04 JackYang 阅读(1137) 评论(1) 推荐(2)
boolean 与boolean数组内存布局-Java快速进阶教程

摘要:1. 概述 在这篇快速文章中,我们将看到在不同情况下 JVM 中布尔值的足迹是多少。 首先,我们将检查 JVM 以查看对象大小。然后,我们将了解这些尺寸背后的基本原理。 扩展阅读 Java字节码-Java快速进阶教程 JVM规范定义运行时数据区详解-Java快速进阶教程 什么是 Java 中的 JV 阅读全文
posted @ 2023-02-24 11:40 JackYang 阅读(155) 评论(1) 推荐(1)
Dijkstra算法概述-常用的算法快速入门

摘要:1. 简介 很多时候,在编写软件时,我们需要能够找到图中两点之间的最佳路径。这在电脑游戏中非常常用,但也用于谷歌地图等地图软件,也可以在许多其他类型的软件中找到用途。 Dijkstra算法是一种非常流行的路径查找算法,用于查找同一图中两点之间的最短路径。 2. 什么是寻路? 路径查找是一种用于图遍历 阅读全文
posted @ 2023-02-23 12:46 JackYang 阅读(152) 评论(0) 推荐(0)
Java程序计算标准偏差-Java快速入门教程

摘要:1. 概述 标准差(符号为 sigma – σ)是数据围绕平均值的扩散的度量。 在这个简短的教程中,我们将了解如何在 Java 中计算标准偏差。 2. 计算标准偏差 标准差是用公式平方根计算的 ( ∑ ( Xi – ų ) ^ 2 ) / N,其中: ∑是每个元素的总和 Xi 是数组的每个元素 ų 阅读全文
posted @ 2023-02-23 12:31 JackYang 阅读(1587) 评论(0) 推荐(0)
旅行推销员问题Java演练-Java快速入门教程

摘要:1. 简介 在本教程中,我们将了解模拟退火算法,并展示基于旅行推销员问题 (TSP) 的示例实现。 2. 模拟退火 模拟退火算法是一种启发式算法,用于解决具有较大搜索空间的问题。 灵感和名字来自冶金退火;它是一种涉及材料加热和受控冷却的技术。 通常,模拟退火在探索解空间并降低系统温度时会降低接受更差 阅读全文
posted @ 2023-02-23 12:27 JackYang 阅读(86) 评论(0) 推荐(0)
volatile和线程安全-Java快速进阶教程

摘要:1. 概述 虽然 Java 中的volatile关键字通常可以确保线程安全,但情况并非总是如此。 在本教程中,我们将了解共享volatile变量可能导致争用条件的情况。 2. 什么是volatile变量? 与其他变量不同,volatile变量是写入主存储器和从主存储器读取的。CPU 不缓存volat 阅读全文
posted @ 2023-02-22 14:25 JackYang 阅读(204) 评论(0) 推荐(0)
Volatile关键字使用指南-Java快速进阶教程

摘要:1. 概述 在没有必要同步的情况下,编译器、运行时或处理器可能会应用各种优化。尽管这些优化通常是有益的,但有时它们可能会导致微妙的问题。 缓存和重新排序是在并发上下文中可能会让我们感到惊讶的优化之一。Java 和 JVM 提供了许多控制内存顺序的方法,volatile关键字就是其中之一。 在本教程中 阅读全文
posted @ 2023-02-22 14:17 JackYang 阅读(96) 评论(0) 推荐(0)
Java 中的易失性变量与原子变量-Java快速进阶教程

摘要:1. 概述 在本教程中,我们将了解volatile关键字和原子类之间的区别以及它们解决的问题。首先,有必要知道Java如何处理线程之间的通信以及可能出现的意外问题。 线程安全是一个关键主题,它提供了对多线程应用程序内部工作的深入了解。我们还将讨论争用条件,但我们不会太深入地讨论这个主题。 2. 并发 阅读全文
posted @ 2023-02-22 13:25 JackYang 阅读(68) 评论(1) 推荐(0)
同步 Java 集合简介-Java快速入门教程

摘要:1. 概述 集合框架是Java的关键组件。它提供了大量的接口和实现,使我们能够以简单的方式创建和操作不同类型的集合。 尽管使用普通的不同步集合总体上很简单,但在多线程环境(也称为并发编程)中工作时,它也可能成为一个令人生畏且容易出错的过程。 因此,Java 平台通过在Collections类中实现的 阅读全文
posted @ 2023-02-22 13:14 JackYang 阅读(92) 评论(0) 推荐(0)
Java 中的不可变对象-Java快速进阶教程

摘要:1. 概述 在本教程中,我们将学习是什么使对象不可变,如何在 Java 中实现不可变性,以及这样做有什么好处。 2. 什么是不可变对象? 不可变对象是其内部状态在完全创建后保持不变的对象。 这意味着不可变对象的公共 API 保证了它在其整个生命周期中的行为方式相同。 如果我们看一下类 String, 阅读全文
posted @ 2023-02-22 12:56 JackYang 阅读(292) 评论(0) 推荐(0)
Java 中的常见并发陷阱-Java快速进阶教程

摘要:1. 简介 在本教程中,我们将看到 Java 中一些最常见的并发问题。我们还将学习如何避免它们及其主要原因。 2. 使用线程安全对象 2.1. 共享对象 线程主要通过共享对相同对象的访问来进行通信。因此,在对象更改时从对象读取可能会产生意外的结果。此外,同时更改对象可能会使其处于损坏或不一致的状态。 阅读全文
posted @ 2023-02-22 12:50 JackYang 阅读(114) 评论(1) 推荐(0)
使用 Java 示例介绍无锁数据结构-Java快速进阶教程

摘要:1. 简介 在本教程中,我们将了解什么是非阻塞数据结构,以及为什么它们是基于锁的并发数据结构的重要替代方案。 首先,我们将介绍一些术语,例如无障碍、无锁定和无等待。 其次,我们将研究非阻塞算法的基本构建块,如CAS(compare-and-swap)。 第三,我们将研究在Java中实现无锁队列,最后 阅读全文
posted @ 2023-02-22 12:38 JackYang 阅读(632) 评论(0) 推荐(0)
AtomicStampedReference 指南-Java快速进阶教程

摘要:1. 概述 在之前的一篇文章中,我们了解到AtomicStampedReference可以防止ABA问题。 在本教程中,我们将仔细研究如何最好地使用它。 2. 为什么我们需要AtomicStampedReference? 首先,AtomicStampedReference为我们提供了一个对象引用变量 阅读全文
posted @ 2023-02-22 12:30 JackYang 阅读(870) 评论(0) 推荐(2)
并发中的 ABA 问题-Java快速进阶教程

摘要:1. 简介 在本教程中,我们将介绍并发编程中 ABA 问题的理论背景。我们将看到它的根本原因以及解决方案。 2. 比较和交换 为了了解根本原因,让我们简要回顾一下比较和交换的概念。 比较和交换 (CAS) 是无锁算法中的常用技术,用于确保一个线程对共享内存的更新在另一个线程同时修改相同空间时失败。 阅读全文
posted @ 2023-02-22 12:17 JackYang 阅读(383) 评论(1) 推荐(0)
sun.misc.Unsafe使用指南-Java快速进阶教程

摘要:1. 概述 在本文中,我们将看看JRE提供的一个引人入胜的类 - 不安全的sun.misc包。此类为我们提供了低级机制,这些机制旨在仅供核心 Java 库使用,而不能由标准用户使用。 这为我们提供了主要为核心库内部使用而设计的低级机制。 2. 获取不安全的实例 首先,为了能够使用Unsafe类,我们 阅读全文
posted @ 2023-02-22 12:09 JackYang 阅读(636) 评论(2) 推荐(0)
Java 中的原子变量简介-Java快速进阶教程

摘要:1. 简介 简而言之,当涉及并发时,共享可变状态很容易导致问题。如果未正确管理对共享可变对象的访问,应用程序很快就会变得容易出现一些难以检测的并发错误。 在本文中,我们将重新审视使用锁来处理并发访问,探讨与锁相关的一些缺点,最后引入原子变量作为替代方案。 2. 锁 让我们来看看: public cl 阅读全文
posted @ 2023-02-22 12:04 JackYang 阅读(110) 评论(2) 推荐(0)
Java 中的 ThreadLocal 简介-Java快速进阶教程

摘要:1. 概述 在本教程中,我们将研究java.lang包中的ThreadLocal构造。这使我们能够单独存储当前线程的数据,并简单地将其包装在特殊类型的对象中。 2.ThreadLocal 接口 TheadLocal构造允许我们存储只能由特定线程访问的数据。 假设我们想要一个将与特定线程捆绑在一起的I 阅读全文
posted @ 2023-02-22 11:43 JackYang 阅读(113) 评论(1) 推荐(0)
什么是线程安全以及如何实现它-Java快速进阶教程

摘要:1. 概述 Java 支持开箱即用的多线程。这意味着通过在单独的工作线程中并发运行字节码,JVM能够提高应用程序性能。 虽然多线程是一个强大的功能,但它是有代价的。在多线程环境中,我们需要以线程安全的方式编写实现。这意味着不同的线程可以访问相同的资源,而不会暴露错误行为或产生不可预知的结果。这种编程 阅读全文
posted @ 2023-02-22 11:39 JackYang 阅读(240) 评论(1) 推荐(0)
Java 19 中的结构化并发-Java快速进阶教程

摘要:1. 概述 在本教程中,我们将讨论孵化器功能结构化并发 (JEP 428),它为 Java 19 提供了结构化并发功能。我们将指导你使用新的 API 来管理多线程代码。 2. 理念 通过采用并发编程风格来降低线程泄漏和取消延迟的可能性,从而增强多线程代码的可维护性、可靠性和可观察性,这是与取消和关闭 阅读全文
posted @ 2023-02-22 11:21 JackYang 阅读(450) 评论(0) 推荐(0)
延迟队列使用指南-Java快速进阶教程

摘要:1. 概述 在本文中,我们将研究java.util.concurrent包中的DelayQueue构造。这是一个阻塞队列,可用于生产者-消费者程序。 它有一个非常有用的特性——当消费者想要从队列中获取一个元素时,他们只能在该特定元素的延迟到期时获取它。 2. 为延迟队列中的元素实现延迟 我们要放入D 阅读全文
posted @ 2023-02-22 11:17 JackYang 阅读(182) 评论(0) 推荐(0)
RabbitMQ简介-Java快速进阶教程

摘要:1. 概述 软件组件的解耦是软件设计中最重要的部分之一。实现此目的的一种方法是使用消息传递系统,它提供组件(服务)之间的异步通信方式。在本文中,我们将介绍其中一个系统:RabbitMQ。 RabbitMQ 是一个实现高级消息队列协议 (AMQP) 的消息代理。它为主要编程语言提供客户端库。 除了用于 阅读全文
posted @ 2023-02-22 11:09 JackYang 阅读(118) 评论(0) 推荐(0)
使用 Spring AMQP 进行消息传递-Java快速进阶教程

摘要:1. 概述 在本教程中,我们将探索使用 Spring AMQP 框架通过 AMQP 进行基于消息的通信。首先,我们将介绍消息传递的一些关键概念。然后,我们将继续一个实际示例。 2. 基于消息的通信 消息传递是一种在应用程序之间进行通信的技术。它依赖于异步消息传递,而不是基于同步请求响应的体系结构。消 阅读全文
posted @ 2023-02-22 11:03 JackYang 阅读(312) 评论(0) 推荐(0)
使用 Spring AMQP 进行错误处理-Java快速入门教程

摘要:1. 简介 异步消息传递是一种松散耦合的分布式通信,在实现事件驱动体系结构方面越来越流行。幸运的是,Spring框架提供了 SpringAMQP 项目,允许我们构建基于AMQP的消息传递解决方案。 另一方面,在此类环境中处理错误可能是一项艰巨的任务。因此,在本教程中,我们将介绍处理错误的不同策略。 阅读全文
posted @ 2023-02-22 10:53 JackYang 阅读(312) 评论(0) 推荐(0)
死锁、活锁和饥饿-架构快速进阶教程

摘要:1. 简介 在多进程并发环境中,多个进程可能会争用一组有限的资源。如果进程请求资源,而该资源当前不可用,则进程将等待该资源。有时,此等待过程永远不会成功访问资源。这种对资源的等待会导致三种情况——死锁、活锁和饥饿。 在本教程中,我们将讨论这三个条件。 2. 死锁 在本节中,我们将首先讨论死锁、其必要 阅读全文
posted @ 2023-02-22 10:37 JackYang 阅读(477) 评论(0) 推荐(0)
Java 线程死锁和活锁-Java快速进阶教程

摘要:1. 概述 虽然多线程有助于提高应用程序的性能,但它也带来了一些问题。在本教程中,我们将在 Java 示例的帮助下研究两个这样的问题,死锁和活锁。 2. 死锁 2.1. 什么是死锁? 当两个或多个线程永远等待另一个线程持有的锁或资源时,就会发生死锁。因此,应用程序可能会停止或失败,因为死锁线程无法进 阅读全文
posted @ 2023-02-22 10:29 JackYang 阅读(482) 评论(0) 推荐(0)
Java中的梯度下降-Java快速进阶教程

摘要:1. 简介 在本教程中,我们将了解梯度下降算法。我们将在 Java 中实现该算法并逐步说明它。 2. 什么是梯度下降? 梯度下降是一种优化算法,用于查找给定函数的局部最小值。它广泛用于高级机器学习算法中,以最小化损失函数。 坡度是坡度的另一个词,下降意味着下降。顾名思义,梯度下降沿着函数的斜率向下, 阅读全文
posted @ 2023-02-20 15:44 JackYang 阅读(250) 评论(0) 推荐(0)
ReLU 和 dropout 层在 CNN 中的工作原理-AI快速进阶系列

摘要:1. 概述 在本教程中,我们将使用示例网络架构研究卷积神经网络的两个基本组件——ReLU(Rectified Linear Unit) 与 Dropout 层。 到最后,我们将了解它们插入CNN背后的基本原理。此外,我们还将知道在我们自己的卷积神经网络中实现它们需要哪些步骤。 2. CNN中的维度诅 阅读全文
posted @ 2023-02-20 15:36 JackYang 阅读(2726) 评论(0) 推荐(0)
线性回归与逻辑回归-AI快速进阶系列

摘要:1. 概述 在本教程中,我们将研究线性回归和逻辑回归之间的异同。 我们将首先研究回归的概念。通过这种方式,我们将看到回归与科学中的还原论方法的关系。 然后,我们将按顺序研究线性回归和逻辑回归。我们还将提出两种回归方法在特征向量和目标变量方面的形式化。 最后,我们将研究对可观察量执行回归的两种方法之间 阅读全文
posted @ 2023-02-20 15:06 JackYang 阅读(167) 评论(0) 推荐(0)
决策树与随机森林-AI快速进阶系列

摘要:1. 简介 在本教程中,我们将展示决策树和随机森林之间的区别。 2. 决策树 决策树是一个树形模型,指导我们检查对象的特征以输出其离散或连续标签。例如,这里有一棵树,根据天气状况预测一天是否适合在户外玩耍: 内部节点告诉我们要检查哪些特征,叶子揭示树的预测。他们如何产生预测?每个叶子都包含训练数据集 阅读全文
posted @ 2023-02-20 13:25 JackYang 阅读(250) 评论(0) 推荐(0)
随机森林与极度随机化树-AI快速进阶系列

摘要:1. 简介 在本教程中,我们将回顾随机森林 (RF) 和极端随机树 (ET):它们是什么、它们的结构以及它们有何不同。 2. 定义 随机森林和极端随机树属于一类称为集成学习算法的算法。集成学习算法利用许多学习算法的强大功能来执行任务。例如,在分类任务中,集成学习算法可以聚合来自多个不同分类器的预测以 阅读全文
posted @ 2023-02-20 13:17 JackYang 阅读(1168) 评论(0) 推荐(0)
计算机科学中的谓词-Java快速进阶教程

摘要:1. 简介 谓词问一个问题,答案是真还是假,或者换句话说,是或否。 在计算机科学和数学中,这个问题以函数的形式出现。函数的结果为真或假(是或否)。答案的数据类型,同样在数学和计算机科学中都称为布尔值。 在本教程中,我们将通过一些示例更深入地介绍这些概念。 2. 简单定义 谓词是一组参数的函数,该参数 阅读全文
posted @ 2023-02-20 12:59 JackYang 阅读(404) 评论(0) 推荐(0)
最小最大值算法-AI快速进阶系列

摘要:1. 概述 在人工智能和博弈论领域,我们经常遇到搜索问题。这些问题可以用互连节点的图来描述,每个节点代表一种可能的状态。 智能代理需要能够通过评估每个节点来遍历图,以达到“良好”(如果不是最佳)状态。 但是,存在无法应用典型图形搜索算法的特定类型的问题。 在本教程中,我们将讨论此类问题并评估可能的解 阅读全文
posted @ 2023-02-20 12:41 JackYang 阅读(459) 评论(0) 推荐(1)
什么是机器学习中的学习曲线-AI快速进阶系列

摘要:1. 概述 在本教程中,我们将研究什么是学习曲线,以及为什么在机器学习模型的训练过程中需要它们。 我们还将发现不同类型的曲线,它们的用途,以及如何解释它们以充分利用学习过程。 在本文结束时,我们将获得避免现实生活中机器学习训练中常见问题所需的理论和实践知识。准备?让我们开始吧! 2. 学习曲线 2. 阅读全文
posted @ 2023-02-20 12:22 JackYang 阅读(1279) 评论(0) 推荐(0)
人工智能、机器学习、统计学和数据挖掘有什么区别-AI快速进阶系列

摘要:1. 简介 在本教程中,我们将讨论人工智能、机器学习、统计和数据挖掘之间的区别。 这些概念之间存在显着重叠,并且没有明确的方法来分隔它们。多年来,研究人员和工程师对这个问题表达了不同且经常相互矛盾的观点,因此没有达成共识。 2. 人工智能 让我们从人工智能(AI)开始。一般来说,人工智能的目标是构建 阅读全文
posted @ 2023-02-20 12:07 JackYang 阅读(687) 评论(0) 推荐(0)
Embeddings-OpenAI API系统快速入门

摘要:什么是嵌入? OpenAI的文本嵌入衡量文本字符串的相关性。嵌入通常用于: 搜索(其中结果按与查询字符串的相关性排名) 聚类(其中文本字符串按相似性分组) 推荐(推荐具有相关文本字符串的项目) 异常检测(识别出相关性不大的异常值) 多样性测量(分析相似性分布) 分类(其中文本字符串按其最相似的标签分 阅读全文
posted @ 2023-02-20 10:51 JackYang 阅读(5009) 评论(0) 推荐(0)
Image generation-OpenAI API系统快速入门

摘要:了解如何使用我们的 DALL·E 型号 介绍 图像 API 提供了三种与图像交互的方法: 根据文本提示从头开始创建图像 根据新的文本提示创建现有图像的编辑 创建现有图像的变体 本指南介绍了使用这三个 API 终结点的基础知识以及有用的代码示例。要了解它们的实际效果,请查看我们的DALL·E 预览应用 阅读全文
posted @ 2023-02-20 10:28 JackYang 阅读(431) 评论(0) 推荐(0)
Examples (示例)-wandb系统快速入门

摘要:如何使用Weights&Biases的一些项目示例、演练和教程。 探索这些示例如何使用Weights&Biases以: 跟踪和可视化机器学习实验; 版本化数据集和模型 使用不同框架如PyTorch、Sciki监测(Instrument)模型 可以从我们的GitHub仓库Fork示例,也可以直接在这里 阅读全文
posted @ 2023-02-20 10:20 JackYang 阅读(284) 评论(0) 推荐(0)
Quickstart (快速上手)-wandb系统快速入门

摘要:轻松编写一段脚本,就可以在你自己的项目中查看我们的实验跟踪和可视化功能。 简单三步即可开始记录机器学习实验。 1. 安装库 在使用Python3的环境中安装我们的库。 pip install wandb 如果你在不方便运行shell命令的自动化环境中训练模型,比如谷歌的CloudML,你应当查看一下 阅读全文
posted @ 2023-02-20 10:17 JackYang 阅读(1324) 评论(0) 推荐(0)
线性模型的不足:非线性函数之路

摘要:1.简介 在本教程中,我们将分析激活函数在神经网络中的作用。真的,他们在历史上走过一条复杂的道路。因此,我们将研究它们的认识论、技术和数学方面如何导致我们趋同于非线性激活函数。 我们将从线性激活函数开始,并分析它们的局限性。最后,我们将以一些示例结束,说明为什么对非线性问题使用线性激活函数是不够的。 阅读全文
posted @ 2023-02-18 20:03 JackYang 阅读(517) 评论(0) 推荐(0)
反向传播神经网络中的非线性激活函数-AI快速进阶系列

摘要:1.简介 在本教程中,我们将研究反向传播算法和其他学习过程中最常用的非线性激活函数。 导致使用非线性函数的原因已在上一篇文章中进行了分析。 2.前馈神经网络 反向传播算法在完全互连的前馈神经网络(FFNN)中运行: 具有以下结构的单元: 该函数执行输入加权和的转换: 我们将在线性模型文章中更详细地讨 阅读全文
posted @ 2023-02-18 20:01 JackYang 阅读(346) 评论(0) 推荐(0)
什么是交叉熵-AI快速进阶系列

摘要:1. 概述 在本教程中,我们将研究机器学习交叉熵的定义。 我们将首先讨论信息论中的熵的概念及其与监督学习的关系。 然后,我们将看到如何从单变量分布中的熵定义中推导出二元分布中的交叉熵。这将使我们很好地理解一个如何概括另一个。 最后,我们将看到如何使用交叉熵作为损失函数,以及如何通过梯度下降来优化模型 阅读全文
posted @ 2023-02-18 00:13 JackYang 阅读(392) 评论(1) 推荐(0)
机器学习模型的损失和准确性解释-AI快速进阶系列

摘要:1. 简介 使用机器学习时,我们有不同的指标来告诉我们模型的表现如何。但是,这些措施可能会混淆它们的含义、如何解释或它们究竟是什么。知道了这一点,我们可以推断出更多关于我们模型的信息。 在本教程中,我们将重点介绍损失和准确性。它们都是训练模型时要考虑的基本值。 2. 损失 损失是一个值,表示模型中误 阅读全文
posted @ 2023-02-17 20:40 JackYang 阅读(828) 评论(0) 推荐(0)
生成对抗网络:判别器损失和生成器损失-AI快速进阶系列

摘要:1. 简介 在本教程中,我们将讨论生成对抗网络(GAN),一种无监督的深度学习方法。主要,我们将介绍构成 GAN 的两个主要模型的架构,即生成器和鉴别器模型。我们还将通过它们的损失函数分析两个模型之间的主导行为。 2. 生成对抗网络 GAN是一个机器学习框架,由Ian J. Goodfellow于2 阅读全文
posted @ 2023-02-17 17:41 JackYang 阅读(2853) 评论(0) 推荐(0)
生成对抗网络-AI快速进阶系列

摘要:1. 概述 在本教程中,我们将介绍生成对抗网络 (GAN)。 首先,我们将介绍术语生成模型及其分类法。然后,将描述GAN的架构和训练管道,并附有详细示例。最后,我们将讨论GAN的挑战和应用。 2. 生成模型 在机器学习中,有两种主要的学习类型: 在监督学习中,我们被给予自变量X和相应的标签Y,我们的 阅读全文
posted @ 2023-02-17 17:40 JackYang 阅读(218) 评论(0) 推荐(0)
蒙特卡洛树-AI快速进阶系列

摘要:1. 概述 在本文中,我们将探讨蒙特卡罗树搜索 (MCTS) 算法及其应用。 我们将通过在Java 中实现井字游戏来详细研究它的阶段。我们将设计一个通用解决方案,该解决方案可用于许多其他实际应用,只需进行最少的更改。 2. 简介 简单地说,蒙特卡罗树搜索是一种概率搜索算法。它是一种独特的决策算法,因 阅读全文
posted @ 2023-02-17 17:14 JackYang 阅读(498) 评论(0) 推荐(0)
监督、半监督、无监督和强化学习简介-AI快速进阶系列

摘要:1. 概述 机器学习包括应用数学和统计方法让机器从数据中学习。它由四大技术家族组成: 监督学习 半监督学习 无监督学习 强化学习 在本文中,我们将探讨机器学习的目的以及何时应该使用特定技术。因此,我们将根据简单的示例了解它们的工作原理。 2. 监督学习 监督学习是一种由向机器学习模型提供标记数据组成 阅读全文
posted @ 2023-02-17 16:52 JackYang 阅读(1260) 评论(2) 推荐(1)
使用 GAN 进行数据增强-AI快速进阶系列

摘要:1. 概述 在本教程中,我们将讨论使用生成对抗网络 (GAN) 进行数据增强。首先,我们将介绍数据增强和 GAN,然后我们将介绍一个能够生成非常逼真的样本的 GAN 架构。 2. 数据增强 深度学习彻底改变了许多领域,并已成为许多复杂任务(如文本翻译、图像分割和自动语音识别)的最新方法。大型注释数据 阅读全文
posted @ 2023-02-17 16:42 JackYang 阅读(2535) 评论(0) 推荐(0)
ExecutorService之等待线程完成-Java快速进阶教程

摘要:1. 概述 ExecutorService框架使在多个线程中处理任务变得容易。我们将举例说明一些等待线程完成执行的场景。 此外,我们还将展示如何优雅地关闭ExecutorService并等待已经运行的线程完成其执行。 2.Executor关闭后 当使用Executor时,我们可以通过调用shutdo 阅读全文
posted @ 2023-02-16 14:59 JackYang 阅读(2927) 评论(0) 推荐(0)
Java 中的线程池简介-Java快速进阶教程

摘要:1. 概述 本教程介绍了 Java 中的线程池。我们将从标准Java库中的不同实现开始,然后查看Google的Guava库。 2. 线程池 在 Java 中,线程映射到系统级线程,这些线程是操作系统的资源。如果我们不受控制地创建线程,我们可能会很快耗尽这些资源。 操作系统也会在线程之间进行上下文切换 阅读全文
posted @ 2023-02-16 14:51 JackYang 阅读(308) 评论(0) 推荐(0)
Java 9 CompletableFuture API 改进-Java快速进阶教程

摘要:1. 简介 Java 9对CompletableFuture类进行了一些更改。这些更改是作为JEP 266的一部分引入的,目的是解决自 JDK 8 中引入以来常见的抱怨和建议,更具体地说,支持延迟和超时,更好地支持子类化和一些实用程序方法。 在代码方面,API 附带了八个新方法和五个新的静态方法。为 阅读全文
posted @ 2023-02-16 13:33 JackYang 阅读(309) 评论(0) 推荐(0)
Guava的Futures与ListenableFuture-Java快速进阶教程

摘要:1. 简介 Guava为我们提供了ListenableFuture,在默认的Java Future上具有丰富的API。让我们看看如何利用这一点来发挥我们的优势。 2.Future, ListenableFuture and Futures 让我们简要看看这些不同的类是什么以及它们之间的关系。 2.1 阅读全文
posted @ 2023-02-16 13:06 JackYang 阅读(2659) 评论(0) 推荐(0)
如何在 Java 中运行 shell 命令-Java快速入门教程

摘要:1. 概述 在本文中,我们将学习如何从 Java 应用程序执行 shell 命令。 首先,我们将使用 .exec() 方法,其由运行时类提供。然后,我们将了解ProcessBuilder,它更易于定制。 2. 操作系统依赖性 命令行管理程序命令依赖于操作系统,因为它们的行为因系统而异。因此,在我们创 阅读全文
posted @ 2023-02-16 13:00 JackYang 阅读(4737) 评论(0) 推荐(0)
Java 8 Streams简介-Java快速入门教程

摘要:1. 概述 在本文中,我们将快速浏览Java 8添加的主要新功能之一 - Streams。 我们将解释什么是流,并通过简单的示例展示创建和基本流操作。 2. 流接口 Java 8 中的主要新功能之一是引入了流功能 - java.util.stream,其中包含用于处理元素序列的类。 中心 API 类 阅读全文
posted @ 2023-02-16 12:57 JackYang 阅读(163) 评论(0) 推荐(0)
何时在 Java 中使用并行流-Java快速进阶教程

摘要:1. 概述 Java 8引入了Stream API,可以轻松地将集合迭代为数据流。创建并行执行并利用多个处理器内核的流也非常容易。 我们可能会认为在更多内核上分配工作总是更快。但事实往往并非如此。 在本教程中,我们将探讨顺序流和并行流之间的差异。我们将首先查看并行流使用的默认分叉联接池。 我们还将考 阅读全文
posted @ 2023-02-16 12:50 JackYang 阅读(198) 评论(0) 推荐(0)
CompletableFuture-Java快速入门教程

摘要:1. 简介 本教程是CompletableFuture类的功能和用例指南,该类作为 Java 8 并发 API 改进引入。 延伸阅读: Java中的Runnable-Callable java.util.concurrent.Future 指南 2. Java 中的异步计算 异步计算很难推理。通常, 阅读全文
posted @ 2023-02-16 12:26 JackYang 阅读(383) 评论(0) 推荐(0)
Runnable与Callable比较-Java快速入门教程

摘要:1. 概述 从Java的早期开始,多线程一直是该语言的一个主要方面。Runnable是为表示多线程任务而提供的核心接口,Java 1.5 提供了Callable作为Runnable 的改进版本。 在本教程中,我们将探讨这两个接口的差异和应用。 2. 执行机制 这两个接口都旨在表示可由多个线程运行的任 阅读全文
posted @ 2023-02-16 12:07 JackYang 阅读(303) 评论(0) 推荐(0)
Future 指南-Java快速入门教程

摘要:1. 概述 在本教程中,我们将了解Future 。自Java 1.5以来一直存在的接口,在处理异步调用和并发处理时非常有用。 2. 创建Future实例 简单地说,Future类表示异步计算的未来结果。此结果最终将在处理完成后显示在将来。 让我们看看如何编写创建和返回Future实例的方法。 长时间 阅读全文
posted @ 2023-02-16 11:56 JackYang 阅读(289) 评论(0) 推荐(0)
ExecutorService使用指南-Java快速入门教程

摘要:1. 概述 ExecutorService是一个 JDK API,可简化在异步模式下运行任务的过程。一般来说,ExecutorService会自动提供一个线程池和一个用于为其分配任务的API。 延伸阅读: Java 中的 fork/join 框架指南 java.util.concurrent 概述 阅读全文
posted @ 2023-02-16 11:16 JackYang 阅读(1861) 评论(0) 推荐(0)
fork-join使用框架指南-Java快速入门教程

摘要:1. 概述 Java 7引入了fork/join框架。它提供了一些工具,通过尝试使用所有可用的处理器内核来帮助加快并行处理速度。它通过分而治之的方法实现这一目标。 在实践中,这意味着框架首先“fork”,递归地将任务分解为更小的独立子任务,直到它们足够简单,可以异步运行。 之后,“join”部分开始 阅读全文
posted @ 2023-02-16 10:55 JackYang 阅读(351) 评论(0) 推荐(0)
卷积神经网络简介-AI快速进阶系列

摘要:1. 概述 在本教程中,我们将研究卷积神经网络背后的理论及其架构。 我们将首先讨论通常使用卷积神经网络 (CNN) 执行的任务和特征提取问题。然后,我们将讨论为什么需要CNN,以及为什么传统的前馈神经网络是不够的。 然后,我们将在矩阵运算的上下文中讨论卷积的操作。这将使我们很好地理解卷积神经网络的运 阅读全文
posted @ 2023-02-15 17:08 JackYang 阅读(227) 评论(1) 推荐(1)
进程与线程-linux快速入门教程

摘要:1. 简介 在本教程中,我们将简要定义两个模棱两可的术语,进程和线程。之后,我们将看看它们之间的差异。 2. 定义 进程是程序的执行。它包括程序本身、数据、资源(如文件)和执行信息(如操作系统保存的进程关系信息)。操作系统允许用户通过系统调用创建、计划和终止进程。 线程是一个半进程。它有自己的堆栈并 阅读全文
posted @ 2023-02-15 15:53 JackYang 阅读(59) 评论(0) 推荐(0)
多线程与超线程-架构快速进阶教程

摘要:1. 简介 在本教程中,我们将介绍计算机科学的两种处理技术。特别是,我们将介绍多线程和超线程技术,讨论它们的不同方法,突出它们的优点和缺点,并讨论它们最常见的用法。 2. 多线程 在计算机系统中,处理器执行称为线程的轻量级指令集。为了提高整体系统性能、响应能力和吞吐量,可以在不同的内核上同时执行多个 阅读全文
posted @ 2023-02-15 15:34 JackYang 阅读(849) 评论(0) 推荐(0)
区块链如何工作-架构快速进阶教程

摘要:1. 简介 区块链基本上是一个记录数据的系统,有可能彻底改变我们对数据管理和金融交易的思考方式。 在本教程中,我们将介绍区块链技术,分析其工作原理,并讨论其优势、劣势和潜在用途。 2. 什么是区块链? 通常,区块链是一种链形式的数据结构,由动态数据记录序列组成,称为使用加密技术连接和加密的块。前一个 阅读全文
posted @ 2023-02-15 15:27 JackYang 阅读(325) 评论(0) 推荐(0)
依赖注入与服务定位器-架构快速进阶教程

摘要:1. 概述 在本教程中,我们将回顾两种模式:依赖项注入和服务定位器。他们以不同的方式解决相同的问题,并且经常使用可以应用于两者的术语。目标是找出它们的本质区别以及每种方法的优缺点。 2. 示例 假设我们有一组带有依赖项的类。让我们概述一下初始布局: 该图仅显示类之间的依赖关系。但是,它没有解释这些类 阅读全文
posted @ 2023-02-15 15:18 JackYang 阅读(290) 评论(0) 推荐(0)
什么是反模式-架构快速进阶教程

摘要:1. 简介 在本教程中,我们将了解什么是反模式。反模式是无效问题的常见解决方案,导致的问题多于解决的问题。本文将解释反模式,常见反模式的几个类别和示例,以及识别和避免它们的一些技巧。 2. 定义 Andrew Koenig在1995年的论文“Patterns and Antipatterns”中对反 阅读全文
posted @ 2023-02-15 15:08 JackYang 阅读(1040) 评论(0) 推荐(1)
反模式之幻数-架构快速进阶教程

摘要:1. 简介 设计模式可用作软件开发的地图。这些模式建议如何有效地应对反复出现的编程挑战。通过这种方式,模式足够通用,可以适应几个不同的编程项目,从而在异构上下文中解决相同的问题。 然而,反模式是软件开发中常见的实践,在实践中并不真正有效。因此,反模式非但没有改进最终软件,反而使软件开发和维护变得更加 阅读全文
posted @ 2023-02-15 15:06 JackYang 阅读(104) 评论(0) 推荐(0)
什么是功能分解-架构快速进阶教程

摘要:1. 概述 在本教程中,我们将通过一个实际示例详细讨论功能分解。 此外,我们将探讨这种方法的优缺点。 2. 简介 功能分解是一种系统设计和分析方法,涉及将复杂系统分解为更小、更易于管理的组件。此外,我们使用特定的功能和关系来分解复杂的系统。 这是一个将系统分解为组成部分、识别功能并定义它们如何相互作 阅读全文
posted @ 2023-02-15 14:53 JackYang 阅读(2863) 评论(0) 推荐(0)
高可用性与容错-架构快速进阶教程

摘要:1. 简介 在本教程中,我们将研究高可用性和容错之间的异同。随着计算机网络的扩展和云计算的出现,网络服务在全球范围内流行起来。目前,网络化服务已融入日常生活,随时随地都需要。 由于这种普及,提供商必须保持通过网络提供的服务持续可供客户使用。为此,这些提供商创建了最低服务可用性协议,并采用允许和恢复故 阅读全文
posted @ 2023-02-15 13:40 JackYang 阅读(240) 评论(0) 推荐(0)
什么是软件多样性-架构快速进阶教程

摘要:1. 概述 在本教程中,我们将研究软件多样性。首先,我们将了解导致软件多样性的动机。最后,我们将研究什么是软件多样性以及如何工作。 2. 了解动机 通常,如果开发人员需要实现解决特定问题的软件,他们会召集团队,分析需求,选择编程工具,并创建一个解决问题的软件程序。 前面描述的方案是在市场上发布新软件 阅读全文
posted @ 2023-02-15 13:29 JackYang 阅读(286) 评论(0) 推荐(0)
需求:功能性与非功能性-架构快速进阶教程

摘要:1. 简介 我们可以将计算机科学视为通过计算解决现实世界问题的艺术。因此,计算机科学家或广义上的软件开发人员的相关能力之一是将现实世界抽象为能够解决特定问题的计算模型。 反过来,抽象模型是基于与开发中软件的利益相关者一起定义的一系列需求构建的。这些需求定义了输入和输出之间的所需关系,确定了最终产品质 阅读全文
posted @ 2023-02-15 13:24 JackYang 阅读(1215) 评论(0) 推荐(1)
ZGC简介-Java快速进阶教程

摘要:. 简介 如今,应用程序同时为数百万甚至数亿用户提供服务的情况并不少见。此类应用程序需要大量内存。但是,管理所有这些内存可能很容易影响应用程序性能。 为了解决这个问题,Java 11引入了Z垃圾收集器(ZGC)作为实验性垃圾收集器(GC)实现。 在本教程中,我们将看到ZGC 如何设法在数 TB 的堆 阅读全文
posted @ 2023-02-15 13:00 JackYang 阅读(574) 评论(0) 推荐(0)
JVM 垃圾收集器-Java快速进阶教程

摘要:1. 概述 在本快速教程中,我们将演示不同JVM 垃圾回收 (GC) 实现的基础知识。然后,我们将学习如何在应用程序中启用特定类型的垃圾回收。 若想深入学习相关内容请自行查阅内容 Java字节码-Java快速进阶教程 什么是 Java 编译器-Java快速进阶教程 什么是 Java 中的 JVM-J 阅读全文
posted @ 2023-02-15 11:41 JackYang 阅读(158) 评论(0) 推荐(0)
进程控制块-架构快速进阶教程

摘要:1. 简介 计算机系统同时执行多个程序。这使我们能够实现更好的吞吐量和用户体验。运行多个程序的概念由操作系统中的进程实现。 在本教程中,我们将讨论进程控制块 (PCB) 的概念,其中包含进程运行的有用信息。 2. 进程概念 进程是正在执行的程序。例如,我们可以编写一个 Java 应用程序并将其保存到 阅读全文
posted @ 2023-02-15 10:58 JackYang 阅读(262) 评论(0) 推荐(0)
死锁:它是什么,如何检测、处理和预防-架构快速进阶教程

摘要:1. 概述 在本教程中,我们将通过实际示例探讨如何预防、避免、检测和忽略死锁。 2. 死锁简介 在进程共享资源的几乎任何情况下都可能发生死锁。它可以发生在任何计算环境中,但它在分布式系统中很普遍,其中多个进程在不同的资源上运行。 在此情况下,一个进程可能正在等待另一个进程已持有的资源。死锁类似于先有 阅读全文
posted @ 2023-02-15 10:46 JackYang 阅读(540) 评论(0) 推荐(0)
Java 中的堆栈内存和堆空间介绍-Java快速进阶教程

摘要:1. 简介 为了以最佳方式运行应用程序,JVM 将内存分为堆栈内存和堆内存。每当我们声明新的变量和对象,调用新方法,声明字符串或执行类似的操作时,JVM都会从堆栈内存或堆空间为这些操作指定内存。 在本教程中,我们将研究这些内存模型。首先,我们将探讨它们的主要功能。然后,我们将了解它们如何存储在RAM 阅读全文
posted @ 2023-02-15 10:31 JackYang 阅读(334) 评论(0) 推荐(0)
进程生命周期-架构快速进阶教程

摘要:1. 概述 在本教程中,我们将讨论操作系统中进程的生命周期。 2. 什么是进程? 在操作系统中,进程是当前正在执行的计算机程序的实例。因此,具有活动状态的计算机程序是一个进程。例如,用户正在打开 Web 浏览器进行 Web 冲浪或使用某些音乐播放器应用程序播放音乐。 当我们想要同时运行多个进程时,这 阅读全文
posted @ 2023-02-15 10:19 JackYang 阅读(509) 评论(0) 推荐(0)
java中的哲学家用餐问题-Java快速进阶教程

摘要:1. 简介 哲学家用餐问题是用于描述多线程环境中的同步问题并说明解决这些问题的技术的经典问题之一。Dijkstra首先提出了这个问题,并提出了关于访问磁带驱动器外围设备的计算机的问题。 目前的公式是由Tony Hoare给出的,他也以发明快速排序算法而闻名。在本文中,我们分析了这个众所周知的问题并编 阅读全文
posted @ 2023-02-15 09:59 JackYang 阅读(640) 评论(0) 推荐(0)
Java中的wait与notify方法-Java快速入门教程

摘要:1. 概述 在本教程中,我们将介绍 Java 中最基本的机制之一 — 线程同步。 我们将首先讨论一些与并发相关的基本术语和方法,接着将开发一个简单的应用程序来处理并发问题,目的是更好地理解wait()和notify()。 2. Java 中的线程同步 在多线程环境中,多个线程可能会尝试修改同一资源。 阅读全文
posted @ 2023-02-14 17:03 JackYang 阅读(566) 评论(0) 推荐(0)
什么是监视器-Java快速入门教程

摘要:1. 简介 在本教程中,我们将学习什么是监视器以及如何在 Java 中使用它。 2. 什么是监视器? 监视器是一种同步机制,允许线程具有: 互斥 – 只有一个线程可以使用锁在某个时间点执行该方法 合作 – 使用等待集使线程等待满足某些条件的能力 为什么此功能称为“监视器”?因为它监视线程如何访问某些 阅读全文
posted @ 2023-02-14 16:51 JackYang 阅读(479) 评论(0) 推荐(0)
什么是争用条件-Java快速入门教程

摘要:1. 简介 多线程应用程序中最常见的问题之一是竞争条件问题。 在本教程中,我们将了解什么是争用条件、检测它们的方法以及处理它们的方法。 2. 争用条件 根据定义,争用条件是程序的一种条件,其行为取决于多个线程或进程的相对计时或交错。一个或多个可能的结果可能是不希望的,从而导致错误。我们将这种行为称为 阅读全文
posted @ 2023-02-14 16:35 JackYang 阅读(118) 评论(0) 推荐(0)
在 Java 中使用互斥对象-Java快速入门教程

摘要:1. 概述 在本教程中,我们将看到在 Java 中实现互斥锁的不同方法。 2. 互斥体 在多线程应用程序中,两个或多个线程可能需要同时访问共享资源,从而导致意外行为。此类共享资源的示例包括数据结构、输入输出设备、文件和网络连接。 我们将此方案称为争用条件。并且,程序访问共享资源的部分称为关键部分。因 阅读全文
posted @ 2023-02-14 16:25 JackYang 阅读(245) 评论(0) 推荐(0)
Locks使用指南-Java快速入门教程

摘要:1. 概述 简单地说,锁是一种比标准同步块更灵活、更复杂的线程同步机制。 Lock接口从 Java 1.5 开始就已经存在了。它是在java.util.concurrent.lock包中定义的,它提供了广泛的锁定操作。 在本教程中,我们将探讨Lock接口的不同实现及其应用程序。 2. 锁定块和同步块 阅读全文
posted @ 2023-02-14 16:22 JackYang 阅读(227) 评论(0) 推荐(0)
Java 中的同步关键字指南-Java快速入门教程

摘要:1. 概述 在本文中,我们将学习在 Java 中使用同步块。 简而言之,在多线程环境中,当两个或多个线程尝试同时更新可变共享数据时,就会发生争用条件。Java 提供了一种机制,通过同步对共享数据的线程访问来避免竞争条件。 标记为已同步的一段逻辑成为同步块,在任何给定时间只允许一个线程执行。 2. 为 阅读全文
posted @ 2023-02-14 16:12 JackYang 阅读(176) 评论(0) 推荐(0)
BlockingQueue使用指南-Java快速入门教程

摘要:1. 概述 在本文中,我们将研究最有用的构造之一java.util.concurrent来解决并发生产者-消费者问题。我们将研究BlockingQueue接口的 API 以及该接口中的方法如何使编写并发程序更容易。 在本文的后面,我们将展示一个具有多个生产者线程和多个使用者线程的简单程序的示例。 2 阅读全文
posted @ 2023-02-14 16:04 JackYang 阅读(380) 评论(0) 推荐(0)
CountDownLatch使用指南-Java快速入门教程

摘要:1. 简介 在本文中,我们将提供CountDownLatch类的指南,并演示如何在一些实际示例中使用它。 本质上,通过使用CountDownLatch,我们可以使线程阻塞,直到其他线程完成给定任务。 2. 并发编程中的用法 简单地说,CountDownLatch有一个计数器字段,你可以根据需要递减。 阅读全文
posted @ 2023-02-14 16:01 JackYang 阅读(189) 评论(0) 推荐(0)
Java中的信号量semaphore-Java快速入门教程

摘要:1. 概述 在本快速教程中,我们将探讨 Java 中信号量和互斥体的基础知识。 2.信号量 我们将从java.util.concurrent.Semaphore开始。我们可以使用信号量来限制访问特定资源的并发线程数。 在下面的示例中,我们将实现一个简单的登录队列来限制系统中的用户数量: class 阅读全文
posted @ 2023-02-14 11:30 JackYang 阅读(298) 评论(0) 推荐(0)
java.util.concurrent 概述-Java快速入门教程

摘要:1. 概述 java.util.concurrent包提供了用于创建并发应用程序的工具。 在本文中,我们将对整个软件包进行概述。 2. 主要部件 java.util.concurrent包含太多的功能,无法在一篇文章中讨论。在本文中,我们将主要关注此软件包中一些最有用的实用程序,例如: Execut 阅读全文
posted @ 2023-02-14 10:29 JackYang 阅读(143) 评论(0) 推荐(0)
fine-tuning-OpenAI API系统快速入门

摘要:微调 了解如何为应用程序自定义模型。 介绍 通过微调,您可以通过提供以下内容从通过 API 提供的模型中获得更多收益: 比提示设计更高质量的结果 能够训练比提示所能容纳的更多示例 由于提示时间较短,可以节省代币 更低的延迟请求 GPT-3 已经对来自开放互联网的大量文本进行了预训练。当给出一个只有几 阅读全文
posted @ 2023-02-13 13:12 JackYang 阅读(2033) 评论(0) 推荐(0)
Code completion-OpenAI API系统快速入门

摘要:代码完成 限量测试版 了解如何生成或操作代码 介绍 Codex 模型系列是我们的GPT-3系列的后代,该系列经过自然语言和数十亿行代码的训练。它最擅长Python,精通十几种语言,包括JavaScript,Go,Perl,PHP,Ruby,Swift,TypeScript,SQL甚至Shell。在最 阅读全文
posted @ 2023-02-13 12:06 JackYang 阅读(543) 评论(0) 推荐(0)
Frequency and presence penalties-OpenAI API系统快速入门

摘要:频率和存在处罚 在完成 API中找到的频率和存在惩罚可用于降低对重复的令牌序列进行采样的可能性。 它们通过直接修改具有加性贡献的对数(非规范化对数概率)来工作。 mu[j] -> mu[j] - c[j] * alpha_frequency - float(c[j] > 0) * alpha_pre 阅读全文
posted @ 2023-02-13 11:39 JackYang 阅读(420) 评论(0) 推荐(0)
models-OpenAI API系统快速入门

摘要:模型 概述 OpenAI API 由一系列具有不同功能和价位的模型提供支持。您还可以通过微调为您的特定用例自定义我们的基本模型。 模型 描述 GPT-3 一组可以理解和生成自然语言的模型 Codex Limited beta 一组可以理解和生成代码的模型,包括将自然语言转换为代码 Content f 阅读全文
posted @ 2023-02-13 11:30 JackYang 阅读(1026) 评论(0) 推荐(0)
Text completion-OpenAI API系统快速入门

摘要:文本完成 了解如何生成或操作文本 介绍 完成终结点可用于各种任务。它为我们的任何模型提供了一个简单但功能强大的界面。您输入一些文本作为提示,模型将生成一个文本补全,尝试匹配您为其提供的任何上下文或模式。例如,如果你给 API 提示,“正如笛卡尔所说,我认为,因此”,它将以很高的概率返回完成“我是”。 阅读全文
posted @ 2023-02-13 11:28 JackYang 阅读(572) 评论(1) 推荐(1)
retrieve models-OpenAI API系统快速入门

摘要:检索模型 get https://api.openai.com/v1/models/{模型} 检索模型实例,提供有关模型的基本信息,例如所有者和权限。 路径参数 模型 字符串 必填 用于此请求的模型的 ID curl https://api.openai.com/v1/models/text-dav 阅读全文
posted @ 2023-02-13 11:09 JackYang 阅读(145) 评论(1) 推荐(1)
List models-OpenAI API系统快速入门

摘要:List models 列出当前可用的模型,并提供有关每个模型的基本信息,例如所有者和可用性。 获取 https://api.openai.com/v1/models 阅读全文
posted @ 2023-02-13 11:05 JackYang 阅读(833) 评论(1) 推荐(1)
Tokenizer分词器-OpenAI API系统快速入门

摘要:GPT 系列模型使用标记处理文本,标记是在文本中找到的常见字符序列。这些模型了解这些令牌之间的统计关系,并擅长在令牌序列中生成下一个令牌。 您可以使用下面的工具来了解 API 如何标记一段文本,以及该文本中的标记总数。 一个有用的经验法则是,对于常见的英语文本,一个标记通常对应于 ~4 个字符的文本 阅读全文
posted @ 2023-02-13 10:57 JackYang 阅读(639) 评论(1) 推荐(1)
Completions-OpenAI API系统快速入门

摘要:给定提示,模型将返回一个或多个预测完成,还可以返回每个位置的替代令牌的概率。 使用完成接口 POST https://api.openai.com/v1/completions 此接口的作用为提供的提示和参数创建补全 Request body-请求正文 model string Required 要 阅读全文
posted @ 2023-02-13 10:50 JackYang 阅读(2874) 评论(2) 推荐(1)
研究人员模型索引-OpenAI API系统快速入门

摘要:模型一般用于研究目的和生产中的开发人员使用。研究人员经常从已发表的论文中了解OpenAI的模型,但OpenAI API中可用的内容与论文中发表的内容之间通常没有完全匹配。 本文的目的是帮助澄清: 模型训练方式的一些差异,会影响模型之间的比较,以及各种评估结果。 各种模型系列之间的差异,例如 GPT 阅读全文
posted @ 2023-02-10 11:27 JackYang 阅读(535) 评论(1) 推荐(1)
API简介-OpenAI API系统快速入门

摘要:概述 OpenAI API 几乎可以应用于任何涉及理解或生成自然语言或代码的任务。我们提供一系列具有不同能力模型以适用于不同的任务,允许您微调并定制自己的专用模型。这些模型可用于从内容生成到语义搜索和分类的所有内容。 关键概念 我们建议通过动手的交互式示例熟悉关键概念。 提示和完成(Prompts 阅读全文
posted @ 2023-02-10 11:06 JackYang 阅读(885) 评论(1) 推荐(1)
如何发送请求-OpenAI API系统快速入门

摘要:您可以将以下命令粘贴到终端中以运行您的第一个 API 请求。确保替换为您的私有 API 密钥-YOUR_API_KEY curl https://api.openai.com/v1/completions -H "Content-Type: application/json" -H "Authori 阅读全文
posted @ 2023-02-10 10:26 JackYang 阅读(685) 评论(1) 推荐(1)
API 密钥进行身份验证-OpenAI API系统快速入门

摘要:在我们开始使用 OpenAI API 之前,我们需要登录我们的 OpenAI 帐户并生成我们的API 密钥。 这里要注意,OpenAI 不会在生成 API 密钥后再次显示它,因此请及时复制你的 API 密钥并保存。我将创建一个名为 OPENAI_API_KEY 的环境变量,它将包含我的 API 密钥 阅读全文
posted @ 2023-02-10 10:18 JackYang 阅读(3992) 评论(1) 推荐(1)

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3