[英]How to save object according to a key which is hash created from tuple or list which numpy.ndarray
我的工作需要大量的計算時間。
所以我想根據鍵保存每個計算結果,例如,由參數生成的哈希鍵,該參數由元組組成,包括元數據,numpy.ndarray等。
為了解決此任務,我嘗試根據一個鍵保存結果(例如,機器學習模型),例如,它是從元組生成的哈希鍵或在代碼下面的numpy.ndarray中列出。
但是我無法從元組對象包括numpy.ndarray獲得哈希鍵。
# Load dataset
iris = datasets.load_iris()
# generating model of SVM
from sklearn import svm
clf = svm.LinearSVC()
key_m=(iris.data, iris.target)
clf.fit(*key_m) # learn form the data according to parameter.
d = shelve.open("testDB")
# save object according to key(key_m)
d[hash(key_m)]=clf ## xx <- Error occurred.
# load object according to key(key_m)
clf_cron=d[hash(key_m)]
# Compare with base and retrieve
if clf==clf_cron:
print("Equal\n")
else:
print("Not Equal\n")
Numpy的ndarray對象沒有哈希方法,但是您可以使用md5或類似的東西:
import md5
m = md5.new()
m.update(iris.data)
m.update(iris.target)
key_m = m.hexdigest()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.