Skip to content

Instantly share code, notes, and snippets.

Avatar

Sara Robinson sararob

  • Firebase
  • San Francisco, CA
View GitHub Profile
@sararob
sararob / pipeline-runner.py
Last active Sep 17, 2021
This Cloud Function will kick off a Vertex Pipeline run whenever a specified amount of new BigQuery data is available for training. Deploy it as an HTTP function and set up a Cloud Scheduler job to automate running it on a recurring basis. See this blog post for details: https://cloud.google.com/blog/topics/developers-practitioners/lets-get-it-s…
View pipeline-runner.py
# Copyright 2021 Google LLC.
# SPDX-License-Identifier: Apache-2.0
import kfp
import json
import time
from google.cloud import bigquery
from google.cloud.exceptions import NotFound
from kfp.v2.google.client import AIPlatformClient
client = bigquery.Client()
View predict.js
// Get measurements for a new flower to generate a prediction
// The first argument is the data, and the second is the shape.
const inputData = tf.tensor2d([[4.8, 3.0, 1.4, 0.1]], [1, 4]);
// Get the highest confidence prediction from our model
const result = model.predict(inputData);
const winner = irisClasses[result.argMax().dataSync()[0]];
// Display the winner
console.log(winner);
View train-model.js
await model.fit(
xData, yData, {
batchSize: batchSize,
epochs: epochs
});
View define-model.js
import * as tf from @tensorflow/tfjs’;
const model = tf.sequential();
model.add(tf.layers.dense({inputShape: [4], units: 100}));
model.add(tf.layers.dense({units: 4}));
model.compile({loss: ‘categoricalCrossentropy’, optimizer: ‘sgd’});
View image-queue.js
'use strict';
// Dependencies
const gcloud = require('google-cloud', {
projectId: 'sara-bigquery',
keyfileName: 'keyfile.json'
});
const vision = gcloud.vision();
const fs = require('fs');
const async = require('async');
@sararob
sararob / cloud-nlp.js
Created Apr 19, 2017
Call the Cloud Natural Language API from Node.js
View cloud-nlp.js
'use strict';
const fs = require('fs');
const ndjson = require('ndjson');
const request = require('request');
fs.createReadStream('reddit-comments.json') // Newline delimited JSON file
.pipe(ndjson.parse())
.on('data', function(obj) {
@sararob
sararob / bike-query.sql
Last active Aug 12, 2019
The life of Citibike # 17526
View bike-query.sql
# Enable Standard SQL to run this query
# More on BigQuery here: https://cloud.google.com/bigquery/docs/quickstarts
SELECT
REGEXP_REPLACE(starttime, '([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})', '\\3-\\1-\\2') as starttime,
from_station_lat,
from_station_lng
FROM `sara-bigquery.nyc_citibike.trips_*`
WHERE cast(bikeid as int64) = 17526 # This is the bike with the most trips (found from another query)
order by starttime
@sararob
sararob / speech-api-request.sh
Last active Aug 12, 2019
Bash script for recording audio and calling the Cloud Speech API
View speech-api-request.sh
#!/bin/bash
# SETUP
# 1) This requires having SoX (http://sox.sourceforge.net/) installed. On a Mac, you can do this with `brew install sox --with-flac`
# 2) You'll also need an API key for your Google Cloud Platform project: https://support.google.com/cloud/answer/6158862
# Create a request file with our JSON request in the current directory
FILENAME="request-"`date +"%s".json`
cat <<EOF > $FILENAME
{
@sararob
sararob / count-adjectives.sql
Last active Nov 20, 2016
Count all adjectives in tweets about Hillary and Trump in BigQuery
View count-adjectives.sql
SELECT
COUNT(*) as c, adjective, subject
FROM
JS(
(SELECT tokens FROM [sara-bigquery:syntax.election_tweets]),
tokens,
"[{ name: 'adjective', type: 'string'},
{name: 'subject', type: 'string'}
]",
"function(row, emit) {
@sararob
sararob / upvote-security-rules.json
Created Aug 25, 2015
Upvoting example for Firebase security rules
View upvote-security-rules.json
{
"rules": {
".read": true,
"articles": {
"$article": {
"title": {
".write": "auth != null",
".validate": "newData.isString() && newData.val() != ''"
},
"url": {