问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用Firebase,可以加速 AC 系列的机器学习速度?

发布网友 发布时间:2022-04-23 22:23

我来回答

2个回答

懂视网 时间:2022-04-24 02:44

今天需要对 Firebase 增加删除功能,代码精简如下:

 1 var admin = require('firebase-admin'); 2 var config = require('./config.json'); 3 4 var defaultAppConfig = { 5 credential: admin.credential.cert(config.firebase.cert), 6 databaseURL: config.firebase.databaseURL 7 }; 8 9 10 var defaultAppName = 'GoPeople-NodeJS-Admin';11 var defaultApp = admin.initializeApp(defaultAppConfig, defaultAppName);12 13 var signaturesRef = defaultApp.database().ref('signatures');14 15 signaturesRef.orderByChild("isChecked").equalTo(true).limitToLast(10).once("value")16  .then(function(snapshot) {17 18  snapshot.forEach(function(childSnapshot) {19   var key = childSnapshot.key;20   var childData = childSnapshot.val();21 22   var now = new Date();23   var date = new Date(childData.date);24   var dayDiff = parseInt((now - date) / (1000 * 60 * 60 * 24)); // day diff25 26   if(dayDiff >30){27   signaturesRef.child(key).remove(function(error) {28    console.log(key);29    console.log(dayDiff);30    console.log(error ? ("Uh oh! " + error) : "Success!");31   });32   }else{33   console.log(key);34   console.log(dayDiff);35   }36  });37 38  });

Firebase 修改节点:

function finishJobSync(jobGuid) {var signaturesRef = defaultApp.database().ref('signatures').child(jobGuid);
 signaturesRef.update({isChecked: true},function(error) {if (error) {
  logger.error(error);
 } else {
  logger.info('Job ' + jobGuid + ' signature has been synced.');
 }
 });
}

Firebase 监听:

var signaturesRef = defaultApp.database().ref('signatures');

signaturesRef.orderByChild("isChecked").equalTo(false).on("child_added", function(snapshot, prevChildKey) {// TODO: });

admin.database.DataSnapshot

>> key

// Assume we have the following data in the Database:{ "name": {"first": "Ada","last": "Lovelace"
 }
}var ref = admin.database().ref("users/ada");
ref.once("value")
 .then(function(snapshot) {var key = snapshot.key; // "ada"var childKey = snapshot.child("name/last").key; // "last"
 });

>> child

var rootRef = admin.database().ref();
rootRef.once("value")
 .then(function(snapshot) {var key = snapshot.key; // nullvar childKey = snapshot.child("users/ada").key; // "ada"
 });

>> exists

// Assume we have the following data in the Database:{ "name": {"first": "Ada","last": "Lovelace"
 }
}// Test for the existence of certain keys within a DataSnapshotvar ref = admin.database().ref("users/ada");
ref.once("value")
 .then(function(snapshot) {var a = snapshot.exists(); // truevar b = snapshot.child("name").exists(); // truevar c = snapshot.child("name/first").exists(); // truevar d = snapshot.child("name/middle").exists(); // false
 });

>> foreach

// Assume we have the following data in the Database:{ "users": {"ada": { "first": "Ada", "last": "Lovelace"},"alan": { "first": "Alan", "last": "Turing"}
 }
}// Loop through users in order with the forEach() method. The callback// provided to forEach() will be called synchronously with a DataSnapshot// for each child:var query = admin.database().ref("users").orderByKey();
query.once("value")
 .then(function(snapshot) {
 snapshot.forEach(function(childSnapshot) { // key will be "ada" the first time and "alan" the second time var key = childSnapshot.key; // childData will be the actual contents of the child var childData = childSnapshot.val();
 });
});

>> hasChildren

// Assume we have the following data in the Database:{ "name": {"first": "Ada","last": "Lovelace"
 }
}var ref = admin.database().ref("users/ada");
ref.once("value")
 .then(function(snapshot) {var a = snapshot.hasChildren(); // truevar b = snapshot.child("name").hasChildren(); // truevar c = snapshot.child("name/first").hasChildren(); // false
 });

>> numChildren

// Assume we have the following data in the Database:{ "name": {"first": "Ada","last": "Lovelace"
 }
}var ref = admin.database().ref("users/ada");
ref.once("value")
 .then(function(snapshot) {var a = snapshot.numChildren(); // 1 ("name")var b = snapshot.child("name").numChildren(); // 2 ("first", "last")var c = snapshot.child("name/first").numChildren(); // 0
 });

admin.database.Query

>> startAt, endAt

// Find all dinosaurs that are at least three meters tall.var ref = admin.database().ref("dinosaurs");
ref.orderByChild("height").startAt(3).on("child_added", function(snapshot) {
 console.log(snapshot.key)
});// Find all dinosaurs whose names come before Pterodactyl lexicographically.var ref = admin.database().ref("dinosaurs");
ref.orderByKey().endAt("pterodactyl").on("child_added", function(snapshot) {
 console.log(snapshot.key);
});

>> limitToFirst, limitToLast

// Find the two shortest dinosaurs.var ref = admin.database().ref("dinosaurs");
ref.orderByChild("height").limitToFirst(2).on("child_added", function(snapshot) { // This will be called exactly two times (unless there are less than two
 // dinosaurs in the Database).

 // It will also get fired again if one of the first two dinosaurs is
 // removed from the data set, as a new dinosaur will now be the second
 // shortest. console.log(snapshot.key);
});// Find the two heaviest dinosaurs.var ref = admin.database().ref("dinosaurs");
ref.orderByChild("weight").limitToLast(2).on("child_added", function(snapshot) { // This callback will be triggered exactly two times, unless there are
 // fewer than two dinosaurs stored in the Database. It will also get fired
 // for every new, heavier dinosaur that gets added to the data set. console.log(snapshot.key);
});

......

热心网友 时间:2022-04-23 23:52

使用 Firebase,可以加速 AC 系列的机器学习速度
 Firebase还推出一款新的基于Google Optimize机器学习辅助分析工具A / B测试框架。“建立一个A / B测试很简单,”Ma写道。
“你可以用远程配置或FCM创建一个实验,然后通过定义不同的变量值和种群大小来测试,设定实验目标,之后Firebase将负责剩余的工作——自动运行这个实验,然后告诉你何时进行目标的统计才是有意义的。
”A/ B测试功能如今可作为beta功能来使用。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么一些男性喜欢要求伴侣叫自己爸爸? proteus8中怎么放置引脚标号 ...在proteus里不知道用什么表示?有没有什么proteus中专门的中英文对照... 甜蜜家园郑毅铭是什么身份 甜蜜家园第二季郑毅铭喜欢谁 瑞梦喜智能空调床垫适合人群 小孩可以用智能床垫吗 智能床垫适合哪些人用 我父亲今年59岁,有高血压和颈椎病的病史,最近一段时间感觉一躺下就偏... ...刚从医院治疗回来。我想买个枕头给他,不知买怎样的比较好?_百度知 ... 有什么正规的外汇平台吗 PROE组件如何导入KeyShot 如何将keyshot放入ppt的操作方法 word2016业务传单在哪 问下大家如何在WORD文档中插入EXCEL制作的统计图表?使之自...有晓得的人就说下哈,本人先在此谢谢各位了7Y 2016版word文档里怎么制作条形统计图 请问一下大家谁知道怎么在word里画复式统计表迷茫了,非常感谢你们了亮 说下在word里如何制作复式统计表真有点急,锑 告诉下在word里如何制作复式统计表 帮帮着急的人吧,本人先在此感谢你们了峙1 问下大家怎么在word里画复式统计表说出来吧,谢谢各位嗅 OPPO用30w闪充有什么负作用吗? 庚子年春节高速免费哪天结束? 怎么区分"分离定律"和"自由组合定律" ? 非姐妹染色体交叉互换后其是否还满足自由组合定律?怎么判断它是否属于... 如何判断两对相对性状符合基因自由组合定律 怎样确定是分离定律还是自由组合定律 如何区分分离定律和自由组合定律?在做题时,题中给出什么时写符合自由组合定律,给什么时写符合分离定律 怎么判断是不是自由组合定律 怎么判断等位基因遵不晕遵循自由组合定律 【高二生物】怎样判断遗传是否遵循自由组合定律 如何判断是遵循自由组合定律还是分离定律 上海万达小额贷款有限公司是真的吗 上海万达小额贷款公司是正规的吗 那上海万达小额贷款公司有这公司吗请问贷款?要告我是真的吗? +85295136840是上海万达小额贷款的电话吗 上海万达小额贷款就是个骗子我有钱先交我还要向你们贷款吗 上海万达小额贷款有限公司是真的嘛, 户口注销后银行卡还能使用吗 脚板鞋的加们电话是多少 在网上找加盟店应注意什么? 敏感肌肤要用什么护肤品好呢 干皮并且皮肤敏感的人,用哪种化妆品和护肤品比较好? 不见不散E9万利达y5音响哪个好 一只小鸡图倒着看是什么 小鸡怎样辨别雌雄的图片 福莱特洗衣高质洗衣超市怎么样 关于雨的美文 柳林福莱特洗衣店 手指被电伤了该怎么处理? 我女朋友在打篮球时伤到手指了,怎么办。她是接传球时被球戳的,当天食指中间的关节就肿了。 洗衣店连锁哪个品牌好