Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Bw-bestperf
FuXi
Commits
0e8d5efa
Commit
0e8d5efa
authored
Aug 16, 2023
by
tpys
Browse files
add input_type
parent
cfe4af4c
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
13 deletions
+15
-13
data_util.py
data_util.py
+11
-12
inference_fuxi.py
inference_fuxi.py
+4
-1
No files found.
data_util.py
View file @
0e8d5efa
...
...
@@ -25,14 +25,13 @@ def split_variable(ds, name):
return
v
def
save_like
(
output
,
input
,
step
,
input_type
=
"hres"
,
save_dir
=
""
,
freq
=
6
,
split
=
False
):
def
save_like
(
output
,
input
,
step
,
save_dir
=
""
,
input_type
=
"hres"
,
freq
=
6
,
split
=
False
):
if
save_dir
:
os
.
makedirs
(
save_dir
,
exist_ok
=
True
)
dtime
=
(
step
+
1
)
*
freq
if
input_type
==
"
hres
"
:
if
input_type
.
upper
()
==
"
HRES
"
:
dtime
=
(
step
+
2
)
*
freq
elif
input_type
==
"gfs"
:
dtime
=
(
step
+
1
)
*
freq
init_time
=
pd
.
to_datetime
(
input
.
time
.
values
[
0
])
...
...
inference_fuxi.py
View file @
0e8d5efa
...
...
@@ -13,11 +13,14 @@ ort.set_default_logger_severity(3)
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
'--model'
,
type
=
str
,
required
=
True
,
help
=
"FuXi onnx model dir"
)
parser
.
add_argument
(
'--input'
,
type
=
str
,
required
=
True
,
help
=
"The input data file, store in netcdf format"
)
parser
.
add_argument
(
'--input_type'
,
type
=
str
,
help
=
"The input type"
,
default
=
"ERA5"
)
parser
.
add_argument
(
'--save_dir'
,
type
=
str
,
default
=
""
)
parser
.
add_argument
(
'--num_steps'
,
type
=
int
,
nargs
=
"+"
,
default
=
[
20
])
args
=
parser
.
parse_args
()
assert
args
.
input_type
.
upper
()
in
[
"ERA5"
,
"GFS"
,
"HRES"
]
def
time_encoding
(
init_time
,
total_step
,
freq
=
6
):
init_time
=
np
.
array
([
init_time
])
...
...
@@ -87,7 +90,7 @@ def run_inference(model_dir, data, num_steps, save_dir=""):
temb
=
tembs
[
step
]
new_input
,
=
session
.
run
(
None
,
{
'input'
:
input
,
'temb'
:
temb
})
output
=
new_input
[:,
-
1
]
save_like
(
output
,
data
,
step
,
save_dir
)
save_like
(
output
,
data
,
step
,
save_dir
,
input_type
=
args
.
input_type
)
print
(
f
'stage:
{
i
}
, step:
{
step
+
1
:
02
d
}
, output:
{
output
.
min
():.
2
f
}
{
output
.
max
():.
2
f
}
'
)
input
=
new_input
step
+=
1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment