首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SpringBoot 2.x Spring 5.x Oauth 2.0 Spring安全位桶集成

SpringBoot 2.x Spring 5.x Oauth 2.0 Spring安全位桶集成
EN

Stack Overflow用户
提问于 2018-12-26 17:41:35
回答 2查看 1.4K关注 0票数 1

我浏览了一篇关于https://www.baeldung.com/spring-security-5-oauth2-login的文章,并试图添加我的自定义提供者,结果被bitbucket.org卡住了。

我正在探索与bitbucket.org (https://developer.atlassian.com/bitbucket/api/2/reference/meta/authentication)的集成,我无法弄清楚bitbucket的用户信息端点,我想您是否可以帮助我获取信息。

下面是我的示例application.yml

代码语言:javascript
运行
AI代码解释
复制
security:
    oauth2:
      client:
        registration:
          google:
            client-id: ${GOOGLE_CLIENT_ID}
            client-secret: ${GOOGLE_SECRET}
          github:
            client-id: ${GITHUB_CLIENT_ID}
            client-secret: ${GITHUB_SECRET}
          bitbucket:
            client-id: ${BIT_BUCKET_CLIENT_ID}
            client-secret: ${BIT_BUCKET_SECRET}
            client-authentication-method: post
            authorization-grant-type: authorization_code
            redirect-uri-template: "{baseUrl}/login/oauth2/code/{registrationId}"
            client-name: BitBucket
          linkedin:
            client-id: ${LINKEDIN_CLIENT_ID}
            client-secret: ${LINKEDIN_SECRET}
            scope: r_basicprofile, r_emailaddress
            client-authentication-method: post
            authorization-grant-type: implicit
            redirect-uri-template: "{baseUrl}/login/oauth2/code/{registrationId}"
            client-name: Linkedin
        provider:
          bitbucket:
            authorization-uri: https://bitbucket.org/site/oauth2/authorize
            token-uri: https://bitbucket.org/site/oauth2/access_token
            user-info-uri: https://bitbucket.org/user/repo.git
            user-name-attribute: id
          linkedin:
            authorization-uri: https://www.linkedin.com/oauth/v2/authorization
            token-uri: https://www.linkedin.com/oauth/v2/accessToken
            user-info-uri: https://api.linkedin.com/v1/people/~?format=json
            user-name-attribute: id

在这方面的任何帮助都将是非常有帮助的。

我得到以下错误:

代码语言:javascript
运行
AI代码解释
复制
2018-12-26 12:20:29.492 DEBUG 16494 --- [nio-8080-exec-2] .s.o.c.w.OAuth2LoginAuthenticationFilter : Authentication request failed: org.springframework.security.oauth2.core.OAuth2AuthenticationException: [invalid_user_info_response] An error occurred while attempting to retrieve the UserInfo Resource: 403 Forbidden

org.springframework.security.oauth2.core.OAuth2AuthenticationException: [invalid_user_info_response] An error occurred while attempting to retrieve the UserInfo Resource: 403 Forbidden
    at org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService.loadUser(DefaultOAuth2UserService.java:126) ~[spring-security-oauth2-client-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationProvider.authenticate(OAuth2LoginAuthenticationProvider.java:116) ~[spring-security-oauth2-client-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174) ~[spring-security-core-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:186) ~[spring-security-oauth2-client-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:160) [spring-security-oauth2-client-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:74) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) [spring-security-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:791) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_171]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_171]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.13.jar:9.0.13]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_171]
Caused by: org.springframework.web.client.HttpClientErrorException$Forbidden: 403 Forbidden
    at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:83) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:122) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:102) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.security.oauth2.client.http.OAuth2ErrorResponseErrorHandler.handleError(OAuth2ErrorResponseErrorHandler.java:52) ~[spring-security-oauth2-client-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:777) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:735) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:646) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE]
    at org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService.loadUser(DefaultOAuth2UserService.java:108) ~[spring-security-oauth2-client-5.1.2.RELEASE.jar:5.1.2.RELEASE]
    ... 59 common frames omitted
EN

回答 2

Stack Overflow用户

发布于 2019-10-16 07:39:06

日志显示:An error occurred while attempting to retrieve the UserInfo Resource: 403 Forbidden

这并不总是意味着没有访问权限,有时它意味着用户信息端点出了问题,错误配置和调用错误的端点可能会导致出现此错误。

对我来说,这个配置行看起来很可疑:user-info-uri: https://bitbucket.org/user/repo.git

我找到了以下示例:https://github.com/stevenmaguire/oauth2-bitbucket/blob/master/src/Provider/Bitbucket.php

他们使用的是https://api.bitbucket.org/2.0/user

票数 0
EN

Stack Overflow用户

发布于 2020-05-01 06:58:22

这不完全是对OP的回答,但我来这里是为了寻找一个类似的问题,当我尝试使用Gitlab时。我得到了相同的错误,并能够通过将openid和read_user添加到作用域来解决它。

只需访问user-info-uri,就可以很容易地检查它是否正确。我发现uri是正确的,但不知何故仍然返回了403。在仔细阅读了gitlab上的作用域之后,我认为我没有访问用户信息的权限:-)

这是我在gitlab上的oauth spring配置:

代码语言:javascript
运行
AI代码解释
复制
spring:
  security:
    oauth2:
      client:
        registration:
          gitlab:
            client-id: ${OAUTH_CLIENT_ID}
            client-secret: ${OAUTH_CLIENT_SECRET}
            scope: openid,read_user,read_api
            redirect-uri: http://localhost:8080/login/oauth2/code/gitlab
            client-name: GitLab.com
            provider: gitlab
            client-authentication-method: basic
            authorization-grant-type: authorization_code
        provider:
          gitlab:
            authorization-uri: https://gitlab.com/oauth/authorize
            token-uri: https://gitlab.com/oauth/token
            user-info-uri: https://gitlab.com/oauth/userinfo
            user-name-attribute: sub
            jwk-set-uri: https://gitlab.com/oauth/discovery/keys
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53935291

复制
相关文章
如何保存机器学习模型
这篇文章主要介绍持久化存储机器学习模型的两种方式:pickle和joblib,以及如何DIY自己的模型存储模块。
MeteoAI
2019/08/21
2.6K0
如何保存机器学习模型
Tensorflow加载预训练模型和保存模型
使用tensorflow过程中,训练结束后我们需要用到模型文件。有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练。这时候我们需要掌握如何操作这些模型数据。看完本文,相信你一定会有收获!
全栈程序员站长
2022/07/25
1.5K0
Tensorflow加载预训练模型和保存模型
使用tensorflow过程中,训练结束后我们需要用到模型文件。有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练。这时候我们需要掌握如何操作这些模型数据。看完本文,相信你一定会有收获!
superhua
2018/08/28
3K0
python机器学习 保存/读取模型
在做模型训练的时候,尤其是在训练集上做交叉验证,通常想要将模型保存下来,然后放到独立的测试集上测试,下面介绍的是Python中训练模型的保存和再使用。
用户7886150
2020/12/27
8680
如何提速机器学习模型训练
注: 本文中有一些超链接,在微信中不能打开,可以转到我的博客,地址:https://qiwsir.github.io/2021/02/16/speed-up-sklearn/,或者点击文末的“原文链接”查看。
老齐
2021/03/11
1.2K0
如何提速机器学习模型训练
机器学习模型训练时候tricks
1. 当训练集的效果(准确率)上不去,和贝叶斯估计(人的表现)存在一定差距的时候:(1)增加模型的复杂度。 或者直接多加几层。(2)现在目前效果非常好的一些模型:resnet,inception等。(3)重新选择优化函         数:AdamOptimizer,MomentumOptimizer,RMSPropOptimizer等等。 2. 训练集效果表现好,测试集效果表现不好:(1)增加训练样本的数量。(2)正则化:L2范数,dropout等 (dropout原理是什么呢?使随机使神经元失活,相当
MachineLP
2018/01/09
5970
机器学习模型训练全流程!
周末在家无聊闲逛github,发现一个很有趣的开源项目,作者用手绘图的方式讲解了机器学习模型构建的全流程,逻辑清晰、生动形象。同时,作者也对几张图进行了详细的讲解,学习之后,收获很多,于是将其翻译下来,和大家一起学习。
Datawhale
2020/08/12
2.2K0
机器学习模型训练全流程!
【文章】机器学习模型训练全流程!
周末在家无聊闲逛github,发现一个很有趣的开源项目,作者用手绘图的方式讲解了机器学习模型构建的全流程,逻辑清晰、生动形象。同时,作者也对几张图进行了详细的讲解,学习之后,收获很多,于是将其翻译下来,和大家一起学习。
算法进阶
2022/06/01
1K0
【文章】机器学习模型训练全流程!
生信代码:机器学习-训练模型
在构建预测模型的开始可以使用数据分割构建训练集和测试集,也可以在训练集中用于执行交叉验证或自举(bootstrapping),以评估模型。
科研菌
2021/02/19
1.4K1
生信代码:机器学习-训练模型
资源 | TensorFlow极简教程:创建、保存和恢复机器学习模型
选自Github 机器之心编译 参与:Jane W、李泽南 TensorFlow 是一个由谷歌发布的机器学习框架,在这篇文章中,我们将阐述 TensorFlow 的一些本质概念。相信你不会找到比本文更
机器之心
2018/05/07
1K0
资源 | TensorFlow极简教程:创建、保存和恢复机器学习模型
机器学习如何训练出最终模型
Jason Brownlee 2017年3月17日 我们用于对新数据进行预测的机器学习模型称为最终模型。 在应用机器学习时,如何训练出一个最终模型这可能是大家的一个疑惑。 初学者通常会问以下问题:
小莹莹
2018/04/23
1.7K0
机器学习如何训练出最终模型
Linux使用VMware保存快照
请注意,在恢复快照时,任何在创建快照之后对虚拟机所做的更改都将被丢弃,并还原为快照创建时的状态。因此,请确保在执行恢复操作之前备份重要数据。
红目香薰
2023/10/11
7870
Linux使用VMware保存快照
用于情感分析和图像检测的预训练机器学习模型
已提供预训练模型来支持需要执行情绪分析或图像特征化等任务但没有资源获取大型数据集或训练复杂模型的客户。使用预训练模型可以让您最有效地开始文本和图像处理。
冬夜先生
2022/02/27
4930
如何在面试中解释机器学习模型
为了帮助大家准备面试,这里分享一个资源,它提供了每个机器学习模型的简明解释。它们并不详尽,而是恰恰相反。希望阅读这篇文章后,你会了解如何以简洁的方式解释复杂的模型。
McGL
2020/11/10
1K0
如何在面试中解释机器学习模型
机器学习与因子模型实证:怎么进行模型训练?
股票市场异常是指那些与传统金融理论不符合的现象,这些现象可能导致投资组合表现出色或者糟糕。机器学习技术可以帮助我们更好地理解这些异常,并提高投资组合的表现。
量化投资与机器学习微信公众号
2023/06/07
5910
机器学习与因子模型实证:怎么进行模型训练?
如何用Python和机器学习训练中文文本情感分类模型?
利用Python机器学习框架scikit-learn,我们自己做一个分类模型,对中文评论信息做情感分析。其中还会介绍中文停用词的处理方法。
王树义
2018/08/22
1.8K0
如何用Python和机器学习训练中文文本情感分类模型?
干货|谷歌大规模机器学习:模型训练、特征工程和算法选择
关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 谷歌机器学习:实际应用技巧 什么是机器学习(ML)? 从概念上讲:给定(训练
昱良
2018/04/08
3.1K0
干货|谷歌大规模机器学习:模型训练、特征工程和算法选择
机器学习实战 | 第五章:模型保存(持久化)
一、工具 sklearn官方给出了两种保存模型的方式:3.4. Model persistence 其中一种是pickle的方式,还有一种就是joblib包的使用.这里仅仅介绍更加简单的方便的joblib方法. 载入joblib很简单,一句话就行了. 1.from sklearn.externals import joblib 接下来就给出常用的joblib几个常用的函数的详细介绍.更多的细节可以参考:Joblib: running Python functions as pipeline jobs 存储
用户1332428
2018/03/08
1.6K0
机器学习实战 | 第五章:模型保存(持久化)
点击加载更多

相似问题

机器学习和模型训练

11

AWS机器学习再训练模型

11

将机器学习模型保存/覆盖为单个文件

14

保存装载和运行机器学习模型?

14

如何避免再训练机器学习模型?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档