wandb 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/wandb/version.rb +1 -1
- data/lib/wandb/xgboost_callback.rb +24 -13
- data/lib/wandb.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe07e6917e230a051db42ac9d95a887397818e5504cf505d836084749de8cee7
|
4
|
+
data.tar.gz: 7d49ebf4b2f85ed7375e6e62fcadce06fe0b3f10aeac5c8d955ea2d4cd537150
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1538917b3ea0b8fd0a34af20bcd79c7683bbc70ca126a6ba192c6e8645d6810d6fe6e68f3e36018a19b4722173ee72792c47cb12edaa3ac6bfe86d0a7853363d
|
7
|
+
data.tar.gz: b816436bb73da8935fa3b1c6c7824b1f7b00601da184b27eed806a7782d924c7531b095a4f7fb5d73a6de3f8d2615b7c2da33b1204922669cad29cfb23f04d61
|
data/lib/wandb/version.rb
CHANGED
@@ -20,16 +20,18 @@ module Wandb
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
attr_accessor :project_name, :api_key, :custom_loggers
|
23
|
+
attr_accessor :project_name, :api_key, :custom_loggers, :history, :sample
|
24
24
|
|
25
25
|
def initialize(options = {})
|
26
26
|
options = Opts.new(options)
|
27
27
|
@log_model = options.default(:log_model, false)
|
28
28
|
@log_feature_importance = options.default(:log_feature_importance, true)
|
29
29
|
@importance_type = options.default(:importance_type, "gain")
|
30
|
+
@normalize_feature_importance = options.default(:normalize_feature_importance, true)
|
30
31
|
@define_metric = options.default(:define_metric, true)
|
31
32
|
@api_key = options.default(:api_key, ENV["WANDB_API_KEY"])
|
32
33
|
@project_name = options.default(:project_name, nil)
|
34
|
+
@sample = options.default(:sample, 1.0)
|
33
35
|
@custom_loggers = options.default(:custom_loggers, [])
|
34
36
|
end
|
35
37
|
|
@@ -80,19 +82,22 @@ module Wandb
|
|
80
82
|
end
|
81
83
|
|
82
84
|
def after_iteration(model, epoch, history)
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
85
|
+
log_frequency = (1.0 / @sample).round
|
86
|
+
if epoch % log_frequency == 0
|
87
|
+
history.to_h.each do |split, metric_scores|
|
88
|
+
metric = metric_scores.keys.first
|
89
|
+
values = metric_scores.values.last
|
90
|
+
epoch_value = values[epoch]
|
91
|
+
|
92
|
+
define_metric(split, metric) if @define_metric && epoch == 0
|
93
|
+
full_metric_name = "#{split}-#{metric}"
|
94
|
+
Wandb.log({ full_metric_name => epoch_value })
|
95
|
+
end
|
96
|
+
@custom_loggers.each do |logger|
|
97
|
+
logger.call(model, epoch, history)
|
98
|
+
end
|
99
|
+
Wandb.log("epoch" => epoch)
|
91
100
|
end
|
92
|
-
@custom_loggers.each do |logger|
|
93
|
-
logger.call(model, epoch, history)
|
94
|
-
end
|
95
|
-
Wandb.log("epoch" => epoch)
|
96
101
|
false
|
97
102
|
end
|
98
103
|
|
@@ -112,6 +117,12 @@ module Wandb
|
|
112
117
|
|
113
118
|
def log_feature_importance(model)
|
114
119
|
fi = model.score(importance_type: @importance_type)
|
120
|
+
|
121
|
+
if @normalize_feature_importance
|
122
|
+
total_importance = fi.values.sum
|
123
|
+
fi = fi.transform_values { |v| v / total_importance }
|
124
|
+
end
|
125
|
+
|
115
126
|
fi_data = fi.map { |k, v| [k, v] }
|
116
127
|
|
117
128
|
table = Wandb::Table.new(data: fi_data, columns: %w[Feature Importance])
|
data/lib/wandb.rb
CHANGED
@@ -73,6 +73,13 @@ module Wandb
|
|
73
73
|
def plot
|
74
74
|
Plot
|
75
75
|
end
|
76
|
+
|
77
|
+
# Add this new method
|
78
|
+
def run_url
|
79
|
+
raise "No active run. Call Wandb.init() first." unless @current_run
|
80
|
+
|
81
|
+
@current_run.url
|
82
|
+
end
|
76
83
|
end
|
77
84
|
|
78
85
|
# Run class
|
@@ -113,6 +120,11 @@ module Wandb
|
|
113
120
|
def log_artifact(artifact)
|
114
121
|
@run.log_artifact(artifact.__pyptr__)
|
115
122
|
end
|
123
|
+
|
124
|
+
# Add this new method
|
125
|
+
def url
|
126
|
+
@run.get_url
|
127
|
+
end
|
116
128
|
end
|
117
129
|
|
118
130
|
# Artifact class
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wandb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Shollenberger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-10-
|
11
|
+
date: 2024-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pycall
|