前言:
在试做的时候分成两个档案
firebase 设定的时候好像只能用一次
不然会报错
所以我写在 def 里
用同个PY档案去跑
程序码:
import time
import sys
import numpy as np
from firebase import firebase
from tensorflow.python.keras import backend as K
from tensorflow.python.keras.models import load_model
from tensorflow.python.keras.preprocessing import image
def downloadFireBase():
import pyrebase
import os
import time
from firebase import firebase
config = {
"apiKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"authDomain": "XXXXXXXXXXXXXXXXXX.firebaseio.com",
"databaseURL": "https://XXXXXXXXXXXXXXXXXX.firebaseio.com",
"projectId": "XXXXXXXX",
"storageBucket": "XXXXXXXX.appspot.com",
"messagingSenderId": "数字",
"appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
firebase = pyrebase.initialize_app(config)
storage = firebase.storage()
my_image = "dog.jpg"
# Upload Image
# storage.child(my_image).put(my_image)
# Get url of image
auth = firebase.auth()
email = "[email protected]"
password = "XXXXXXXXXX"
user = auth.sign_in_with_email_and_password(email, password)
time.sleep(4)
url = storage.child(my_image).get_url(user['idToken'])
# Download Image
storage.child(my_image).download(filename="dog.jpg", path=os.path.basename(my_image))
print(url)
def detectPhoto():
import time
import sys
import numpy as np
from firebase import firebase
from tensorflow.python.keras import backend as K
from tensorflow.python.keras.models import load_model
from tensorflow.python.keras.preprocessing import image
key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
authentication = firebase.FirebaseAuthentication(key, '[email protected]')
firebase.authentication = authentication
user = authentication.get_user()
firebase = firebase.FirebaseApplication('https://XXXXXXXXXXXXXXXXXX.firebaseio.com/', authentication=authentication)
resultAcc = firebase.get('/dogAcc', '')
print(resultAcc)
resultName = firebase.get('/dogName', '')
print(resultName)
# 从参数读取图档路径
files = ["dog.jpg"]
print(files)
print("=============================")
# 载入训练好的模型
net = load_model('model-resnet50-final-11.h5')
cls_list = [...]
# 辨识每一张图
for f in files:
img = image.load_img(f, target_size=(300, 300))
if img is None:
continue
x = image.img_to_array(img)
x = np.expand_dims(x, axis = 0)
pred = net.predict(x)[0]
top_inds = pred.argsort()[::-1][:1]
print(f)
for i in top_inds:
print('准确率: {:.2%} {}'.format(pred[i], cls_list[i]))
firebase.put('/dogAcc','Acc' , '{:.2%}'.format(pred[i]))
firebase.put('/dogName','Name' , '{}'.format(cls_list[i]))
firebase.put('/DetectBool', 'Bool', 'False')
#firebase.delete("/dogDetail",'AC')
key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
authentication = firebase.FirebaseAuthentication(key, '[email protected]')
firebase.authentication = authentication
user = authentication.get_user()
firebase = firebase.FirebaseApplication('https://XXXXXXXXXXXXXXXXXX.firebaseio.com/', authentication=authentication)
while True:
if firebase.get('/DetectBool', 'Bool') == "True":
print("前端侦测开启")
if firebase.get('/DownloadBool', 'Bool') == "False":
firebase.put('/DownloadBool', 'Bool', 'True')
print("等候照片上传完毕...")
time.sleep(8)
downloadFireBase()
print("照片下载成功!")
firebase.put('/DownloadBool', 'Bool', 'False')
if firebase.get('/DetectBool', 'Bool') == "True":
print("前端侦测开启,开始辨识...")
detectPhoto()
print("资料上传完毕!")
else:
time.sleep(4)
print("前端侦测关闭中...")
<<: <Day13> Ticks — 取得股票(Stock)逐笔成交资料
>>: GitHub Saved Replies - Repository Owner 好用的回覆小技巧
当我们拿到一个现有的 Web Component 时 , 如果直接在 Vue 专案中使用会抱错 今天...
昨天介绍完kmeans演算法,今天就要实际写程序: 首先先创建一笔资料并绘图: 程序如下: impo...
透过broder的语法可以让边框做多样化的设计变化, 边框的粗细、颜色、样式等数性质都可设定。 CS...
Syntax: django-admin help 1.新增专案 1-1 PyCharm 1-2 ...