新浪微博SDK使用指南

python sdk 获取新浪微博签到信息 具体参考http://www.liaoxuefeng.com/article/00137389308005720bf24cb6cf14d9e897e7026dbc6a842000 不得不说廖大神这个sdk 在我这个新手看来写的真是太完美了,接口调用写成动态,封装授权,返回jsondict  处理起来实在是方便 # -*- coding: utf-8 -*- ''' Created on 2 阅读详情

在使用新浪微博SDK进行开发的时候,发现新浪提供的SDK和腾讯的SDK比起来,明显后者好用很多。我在使用新浪微博SDK的过程中,遇到很多蛋疼的问题,搞得我超级郁闷。比如,使用它的SDK先要弄明白何为jar包模式,何为library模式,还要知道这两者的区别,因为他的官方API文档里说,这两者不能混用。既然不能混用,是不是说挑一个用就行了,但是绝非这么简单,从它的文档中可以看到,你还是需要在某种程度上混用这两种外部类。

按照正常人的思考习惯,既然你提供了SDK,也提供了jar包的。很显然大家会认为SDK是导入到eclipse中做为一个工程来查看的,这样开发者可以方便地查看源码,方便地快速了解SDK的接口和方法。对于提供的jar包,大家理所当然会认为这是用来放到libs文件夹下,然后把路径添加到自己开发的项目中的。而且,添加jar包到libs文件夹下的方式无疑是最佳实践。因为这样就可以在协同开发时方便地共享源代码。要是使用library模式的话,共享代码的时候,不仅要共享自己开发的项目,还要共享被标注为isLibrary的项目,很多项目来回Export和Import,实在很麻烦,也常出错。


但是奇葩的新浪SDK又一次颠覆了程序员的认知。它不认为这两者应该分开,其实他们把jar包与library模式这两种模式给杂糅到了一起,这就是一切烦恼的根源。


更荒唐的是,作为对外提供API接口的平台,竟然在官方文档中用大篇幅来告诉开发者如何导出jar包,如何安装eclipse插件。当然里面说的如何导出jar包,如何安装eclipse插件都是和使用SDK相关的,但是最为一个开放平台,难道就没有能力把这个复杂度消除吗?你提供SDK不就是为了降低技术门槛,让开发者抽身去做更有价值的事情嘛,这倒好,不用研究授权认证了,反倒需要浪费很多时间去研究如何导出jar包,如何安装eclipse插件了。能不能有点服务意识啊!


我用新浪微博SDK时经常出问题,很多问题都是因为未按照官方文档中要求的步骤导致的(但是官方文档的步骤很另类),比如“找不到类所定义的类”异常:

[plain]  view plain copy
  1. 01-28 15:56:47.970: E/AndroidRuntime(20190): java.lang.NoClassDefFoundError: com.weibo.android.R$style  
  2. 01-28 15:56:47.970: E/AndroidRuntime(20190):    at com.weibo.net.WeiboDialog.<init>(WeiboDialog.java:54)  
  3. 01-28 15:56:47.970: E/AndroidRuntime(20190):    at com.weibo.net.Weibo.dialog(Weibo.java:353)  
  4. 01-28 15:56:47.970: E/AndroidRuntime(20190):    at com.weibo.net.Weibo.startDialogAuth(Weibo.java:260)  
  5. 01-28 15:56:47.970: E/AndroidRuntime(20190):    at com.weibo.net.Weibo.authorize(Weibo.java:329)  
  6. 01-28 15:56:47.970: E/AndroidRuntime(20190):    at com.weibo.net.Weibo.authorize(Weibo.java:308)  
  7. 01-28 15:56:47.970: E/AndroidRuntime(20190):    at com.logan.weibo.ui.AuthorizeActivity.onCreate(AuthorizeActivity.java:66)  
网上关于这种异常处理的办法众说纷纭,但是都不好使,因为新浪微博SDK很奇葩,喜欢与众不同。不信的话,看看下面的文档你就信了。


下面的内容摘自新浪微博android平台SDK 文档


时间

文档版本

修订人

备注

2012/7/20

2.0.0

罗棚

初稿

2012/8/02

2.0.0

张晓伟


概述

微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程。并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的分享页面,并发送到微博。

主要类说明:

1. Weibo: 微博API 接口类,对外提供weiboapi的调用,包括登录,API调用,微博分享等功能。

2. Oauth2AccessToken:封装了“access_token”,“expires_in”,"refresh_token",并提供了

他们的管理功能

3. Utility:工具类,提供了url 的encode,decode方法。

4. AsyncWeiboRunner:微博api异步执行类,封装了回调接口,通过创建线程来调用Weibo中的接口方法。

5. HttpManager: 负责与服务器进行通讯的类,封装了GET、POST请求方式,并对外提供图片上传等功能

6. WeiboAPI: 该类及其子类封装了新浪微博对外提供的api接口方法。

7. WeiboException:微博异常封装类,封装了微博的各个异常。

8. SsoHandler:单点登录 认证类,对外提供了sso登录认证的方法。

SDK使用说明

1. 使用weibo.sdk.android(不包含sso功能)

1.1将SDK的工程项目导入到eclipse中。

在eclipse中选择File->Import->General->Existing Projects into Workspace。注意:SDK工程的编码格式为UTF-8。如图所示:

图表 2

1.2在需要集成本SDK的工程项目中添加Library。

右键 -> Properties -> Android。设置Library属性,如图所示:

图表 3

1.3 Manifest文件中必须包含以下permission:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>

1.4 如果想在自建工程里直接使用sdk提供的jar包,可以在eclipse的File->Export->Java->JAR file里打出jar文件,假设名称为oauth20.jar,如下图所示:注意:jar包模式和library模式不能混用,而且这种方式导出来的jar包与library模式下自动生成的jar包是不同的,后者无法将assets目录打进jar文件

图表 4

最后生成的jar的内部结构如下图所示:

图表 5

2. 使用weibo.sdk.android.api

Weibo.sdk.android.api是在weibo.sdk.android的基础上扩展而来,里面提供了一些对新浪微博openapi的封装接口,供用户使用。

2.1因为api sdk是在weibo.sdk.android的基础上开发的,所以使用api sdk之前,需要先导入weibo.sdk.android sdk,步骤详见上节介绍。

2.2 按照上节的步骤,导入api sdk,同样需要将此sdk设置为library

2.3 在Eclipse中,进入新建工程的Properties->Android中,按照下图所示添加library,

2.4如果想在自建工程里直接使用sdk提供的jar包,可以在eclipse的File->Export->Java->JAR file里打出jar文件,假设名称为oauth20-api.jar,步骤同1.4。

3. 使用weibo.sdk.android.sso

3.1 因为sso sdk是在weibo.sdk.android的基础上开发的,所以使用ssosdk之前,需要先导入weibo.sdk.android sdk(如果要使用已经封装好的api接口,也可以导入weibo.sdk.android.api),步骤详见上节介绍。

3.2 按照上节的步骤,导入sso sdk,同样需要将此sdk设置为library

3.3 在Eclipse中,进入新建工程的Properties->Android中,按照下图所示添加library,

图表 6

添加完成后,查看工程的build path,保证如下图所示,工程里已经分别引入了weibo.sdk.android.sso.jar和weibo.sdk.android.jar:

图表 7

3.4 如果想在自建工程里直接使用sdk提供的jar包,也可以按照下面的步骤来生成最终需要的jar文件,注意:jar包模式和library模式不能混用

1) 安装net.sf.fjep.fatjar_0.0.31.jar:

a. 将上面的jar包放入eclipse->plugins目录,并重启eclipse

b. 在工程中点击右键,出现下面的选项 Build Fat jar,说明此插件安装成功

c. 如果没有出现,将 $eclipse_Home\configuration\org.eclipse.update\platform.xml

删除,然后再重启eclipse,执行b步骤检查是否安装成功

d. 如果还未不成功,可以在线安装此插件,插件的地址是:http://kurucz-grafika.de/fatjar,执行b步骤检查是否安装成功

e. 一般经过上面几个步骤,都可以正常安装fatjar,如果还未成功,那只好使用最后一招了,换个其他版本eclipse吧,笔者使用3.7.2,没有任何问题

图表 8

2) 点击Build fat jar,按照向导一步步操作,在添加资源时,应保证将上节(1.4节)生成的oauth20.jar勾选进来,如下图所示,最终生成一个jar,此jar文件内将包含oauth20.jar中的所有内容,文件内部结构如 图表5(如果想使用weibo.sdk.android.api提供的接口,在生成jar文件时,也需要将2.4节中生成的oauth20-api.jar勾选进来)

图表 9

将最终生的jar文件作为lib添加入自建工程中,并且在图标4所示界面中将引入的library 删除。

完成之后就可以正常使用了。

4. SDK使用及修改必须遵守微博开发者协议,以及开源软件协议。

最新版新浪微博Android SDK集成与实战指南 新浪微博Android SDK V2.0.0基于OAuth 2.0协议重构授权体系,引入SSO(单点登录)机制,提升用户体验与安全性。SDK采用模块化设计,分离授权、分享、API调用等核心功能,支持Gradle依赖管理与JAR包集成双模式。JAR 包主要由以下几个核心包组成::授权相关类,如WeiboAuth:SSO 跳转处理类,核心为SsoHandler:工具类,包括签名生成、Intent 构造等:消息传递对象定义,用于分享和授权参数封装。 阅读详情

相关推荐

新浪微博sdk

android开发,所用到的新浪开放平台sdk,android开发,所用到的新浪开放平台sdk,android开发,所用到的新浪开放平台sdk,android开发,所用到的新浪开放平台sdk,

ShareSDK第三方平台使用指南——新浪微博

1.登录控制台并通过认证2.选择3.点击4.配置应用信息,图中信息仅为示例,创建时请按照真实信息填写,否则无法正常使用。

apkkkk的博客 1318

新浪微博sdk使用方法详细介绍

使用新浪微博SDk开发的童鞋不可错过,非常详细的介绍了使用方法,有具体的实例和截图说明

【HarmonyOS NEXT】鸿蒙应用接入微博分享

后续微博的压缩包还会更新,跑不起来项目,可以通过新建示例项目配置的检查顺序做对比( 用你的IDE新建一个项目进行对比检查。我们可以看到鸿蒙的微博分享,有三种形式文本,图片和视频。可以看到直接跳转到了一个分享页,分享单独创建了一个SharePage进行分享api能力的示例。但是经过我的实际操作验证,发现不管勾选了文本,还是图片,以及视频。【之后我反复操作进行了重新验证,发现进行勾选类型是有效果的,看来刚才是bug。整个分享过程搞明白之后,我们就开始根据操作,copy分享api调用的代码逻辑即可。

路漫漫亦无涯 2783

新浪微博SDK

新浪微博API(android版) ============================ 本版本在java版的基础上修改,使其可以在android sdk上使用. 新增加了android的OAuth登陆认证及获取好友微博的实现样例.

手把手教你用Payload Dumper工具,把官方卡刷包变成线刷包救砖(附Fastbootd进入方法)

本文详细介绍了如何使用Payload Dumper工具将官方卡刷包转换为线刷包进行救砖操作。通过提取payload.bin文件中的分区镜像,并利用fastbootd模式完成刷写,帮助用户解决安卓设备系统故障问题。文章包含环境搭建、工具使用、常见问题解决方案等实用内容,适合需要刷机救砖的用户参考。

weixin_42639246的博客 618

微博开发平台SDK使用示例(iOS版)

为了提高应用的交互和扩散能力,引人微博或者QQ开放平台是个不错的选择。今天跟大家分享下微博开放平台SDK使用的示例。

gisxy的专栏 3905

vue中使用video-player视频插件,第一次无法监听父组件穿过来的值解决办法

需求: 页面![在这里插入图片描述](https://img-blog.csdnimg.cn/20201208141906802.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfOTg4OA==,size_16,color_FFFFFF,t_70) 作品清单是从后端请求回来的不同格式的url,前端需求根据后缀动态判断格式,然后对齐进行下载和

A_9888的博客 769

鸿蒙next-微博SDK集成

微博的sdk并非如微信开放平台或者第三方库一样提供一个nhpm -install的直接加载方式,而是提供一个demo,而这个demo下载下来直接报错,让人无从入手。于是进行了一定的修改才搞清楚使用方法。

weixin_42233763的博客 1056

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

transformer原理

qq_38253797的博客 2万+

告别连接难题:Windows 11下Multisim主数据库稳定运行终极配置指南

本文详细解析了Windows 11下Multisim 14.0主数据库连接失败的三大根源,并提供了四步终极解决方案,包括系统环境优化、软件权限配置、注册表修复和网络验证绕过技巧。通过实测数据对比,本方案显著提升了启动速度和稳定性,解决了电子仿真中的常见连接问题。

weixin_33738555的博客 433

Android上新浪微博SDK的使用方法介绍

作者:朱凌飞 本文介绍了如何在Android程序中使用新浪微博提供的AndroidSDK,具体新浪API查询请到http://open.weibo.com/查看。 微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程。并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的分享页面,并发送到微博

移动平台应用软件开发技术 1万+

用R搞定生态溯源:MixSIAR贝叶斯混合模型从安装到出图的保姆级教程

本文提供了一份详细的MixSIAR贝叶斯混合模型教程,涵盖从R环境配置、数据预处理到模型参数设置和可视化分析的完整流程。通过实战案例和常见问题解决方案,帮助生态学研究者快速掌握混合模型在生态溯源中的应用,提升数据分析效率。

weixin_42531516的博客 467

使用友盟SDK实现新浪微博登录

项目需求实现新浪微博登录,并实现文章对第三方平台的分享,使用友盟SDK实现以上功能,在实现的过程中,踩了一些坑,记录下来和大家分享一下。 友盟提供了SSO(免登录)以及非SSO的方式。所谓SSO的方式,即当在本地安装了新浪微博客户端并已登录,则在本应用中无需再次输入用户名和密码实现登录。

jiangyudn的专栏 4325

基于YOLOv8与UI界面的短视频内容审核系统实现与深度学习应用

YOLO(You Only Look Once)是一种用于实时物体检测的深度学习模型,它能在单次前向传播中同时完成物体检测和定位。YOLOv8是YOLO系列中的最新版本,相较于之前的版本,YOLOv8具有更高的检测精度和更快的推理速度,特别适合需要实时检测的应用场景。YOLOv8通过卷积神经网络(CNN)来提取图像中的特征,并通过多个卷积层来预测每个目标的位置和类别。该模型的优势在于其端到端的结构,使得在视频监控、自动驾驶、安防监控等实时应用中,能够实现快速且高效的目标检测。

YOLO 314

用 DCL 编写 DEFINE ROLE:把 ABAP CDS 的访问控制做对、做实、做漂亮

摘要: 本文详细讲解如何在ABAP CDS中使用DCL(数据控制语言)实现行级授权,确保业务数据安全。核心要点包括: DCL原理:通过DEFINE ROLE将访问条件绑定到CDS实体,自动附加到查询条件(类似隐式WHERE),保障授权一致性。 关键语法: 必需注解@MappingRole: true声明映射角色。 ASPECT pfcg_auth关联PFCG权限对象,动态控制访问。 注解@AccessControl.authorizationCheck定义授权检查策略(如#CHECK启用强制控制)。 优先级

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 166

新浪微博SDK在Eclipse中的使用

新浪微博SDK在Eclipse中的使用 今天在看《Android开发应用实战》,全书都在讲一个android版的新浪微博客户端怎么做,于是按照书上步骤做。网上有人说这本书没有细节,我想对于小白来讲确实需要一些细节,因为我作为一个android小白,确实不知道如何正确地导入新浪微博SDK。 我的环境: OS:Windows7 IDE:Android Developer Too

u013170486的专栏 383

uni-app 实现高德 / 百度 / 腾讯地图多端导航跳转(H5最全方案)

本文介绍了一套生产级可复用的多地图导航Hook封装方案。针对开发中常见的经纬度顺序混乱、中文乱码、参数不统一等问题,提供了统一解决方案。方案支持高德、百度、腾讯三大地图平台,封装了各平台的URI参数处理逻辑,包括坐标顺序转换、名称编码、导航模式适配等核心功能。通过组合式API设计,开发者只需调用统一入口即可实现多地图导航跳转,同时保留单独调用各平台的能力。文中还总结了6大常见坑点,并推荐默认使用高德地图作为最稳定的导航方案。该方案适用于车辆定位、物流配送等多种业务场景,可封装为可复用的Hooks组件。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 537

新浪微博SDK使用

最近的项目中需要继承新浪微博SDK,最新的SDK增加了点对点(SOS)登陆方式。集成步骤如下所示 第一步:下载新浪微博SDK  http://open.weibo.com/wiki/Sdk 第二步:将新浪微博SDK中的源码和资源文件拷到本工程目录下,目录要保持一致。 第三步:在本工程需要增加微博分享出 添加微博隐式认证。 com_weibo_android的Oauth2.0 隐式授

展翅高飞 1811

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

新浪微博分享 SDK 图片大小限制

在使用安卓版新浪微博分享 SDK 中 WebpageObject 的分享图片时,缩略图和大图(均为 Bitmap 格式)的最大值分别为 32KB 和 2MB。

关注移动端、Web、微信小程序等大前端领域 9223

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

iOS开发——新浪微博篇之环境搭建以及新版sdk的相关问题

最近突发奇想希望拿简单的做一下新浪微博的一些简单功能

CocoaChen 2180

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android 新浪微博sdk使用-分享

1、登录新浪微博开放平台,注册用户,获得key和secret,回调地址(百度/谷歌/新浪,可任意填写)。 2、下载sdk ,里面包含两个工程,一个source,一个example。 3、eclipse 导入 source工程。      将工程设置为library。工程右键-》properties ,如图勾选is library 4、eclipse建立自己的androi

mer1234567的专栏 7042

IOS - 新浪微博SDK

1.首先去 open.weibo.com 下载新浪官方SDK。 2.然后把SDK导入到你的项目中: 3.在.h文件中包含SDK的头文件: #import "WBEngine.h"其实,我们只会用到该文件中的代码。 4.把你的 AppKey 和 AppSecret 定义成宏,方便之后的更改和多出使用: 5.然后,在你的类中 声明一个WBEngine的属性:

夏天的学习小站 6788

关于新浪微博sdk集成和MD5授权

新浪微博认证失败的解决方法

wuyinlei的博客 1835
上一篇: Android 进程和线程
下一篇: SQLserver分页 高效率
meng0911
博客等级 码龄15年 15粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值