Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
VisualDL
提交
f0b6db3c
V
VisualDL
项目概览
PaddlePaddle
/
VisualDL
接近 2 年 前同步成功
通知
89
Star
4655
Fork
642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
5
Wiki
分析
仓库
DevOps
项目成员
Pages
V
VisualDL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
5
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f0b6db3c
编写于
1月 02, 2018
作者:
S
superjom
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
change all `as_mode` to `with mode`
上级
13086db4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
110 addition
and
107 deletion
+110
-107
server/visualdl/lib.py
server/visualdl/lib.py
+48
-48
server/visualdl/storage_mock.py
server/visualdl/storage_mock.py
+19
-19
visualdl/python/test_storage.py
visualdl/python/test_storage.py
+43
-40
未找到文件。
server/visualdl/lib.py
浏览文件 @
f0b6db3c
...
...
@@ -16,47 +16,47 @@ def get_modes(storage):
def
get_scalar_tags
(
storage
,
mode
):
result
=
{}
for
mode
in
storage
.
modes
():
reader
=
storage
.
as_mode
(
mode
)
tags
=
reader
.
tags
(
'scalar'
)
if
tags
:
result
[
mode
]
=
{}
for
tag
in
tags
:
result
[
mode
][
tag
]
=
{
'displayName'
:
reader
.
scalar
(
tag
).
caption
(),
'description'
:
""
,
}
with
storage
.
mode
(
mode
)
as
reader
:
tags
=
reader
.
tags
(
'scalar'
)
if
tags
:
result
[
mode
]
=
{}
for
tag
in
tags
:
result
[
mode
][
tag
]
=
{
'displayName'
:
reader
.
scalar
(
tag
).
caption
(),
'description'
:
""
,
}
return
result
def
get_scalar
(
storage
,
mode
,
tag
):
reader
=
storage
.
as_mode
(
mode
)
scalar
=
reader
.
scalar
(
tag
)
with
storage
.
mode
(
mode
)
as
reader
:
scalar
=
reader
.
scalar
(
tag
)
records
=
scalar
.
records
()
ids
=
scalar
.
ids
()
timestamps
=
scalar
.
timestamps
()
records
=
scalar
.
records
()
ids
=
scalar
.
ids
()
timestamps
=
scalar
.
timestamps
()
result
=
zip
(
timestamps
,
ids
,
records
)
return
result
result
=
zip
(
timestamps
,
ids
,
records
)
return
result
def
get_image_tags
(
storage
):
result
=
{}
for
mode
in
storage
.
modes
():
reader
=
storage
.
as_mode
(
mode
)
tags
=
reader
.
tags
(
'image'
)
if
tags
:
result
[
mode
]
=
{}
for
tag
in
tags
:
image
=
reader
.
image
(
tag
)
for
i
in
xrange
(
max
(
1
,
image
.
num_samples
())):
caption
=
tag
if
image
.
num_samples
()
<=
1
else
'%s/%d'
%
(
tag
,
i
)
result
[
mode
][
caption
]
=
{
'displayName'
:
caption
,
'description'
:
""
,
'samples'
:
1
,
}
with
storage
.
mode
(
mode
)
as
reader
:
tags
=
reader
.
tags
(
'image'
)
if
tags
:
result
[
mode
]
=
{}
for
tag
in
tags
:
image
=
reader
.
image
(
tag
)
for
i
in
xrange
(
max
(
1
,
image
.
num_samples
())):
caption
=
tag
if
image
.
num_samples
()
<=
1
else
'%s/%d'
%
(
tag
,
i
)
result
[
mode
][
caption
]
=
{
'displayName'
:
caption
,
'description'
:
""
,
'samples'
:
1
,
}
return
result
...
...
@@ -70,9 +70,9 @@ def get_image_tag_steps(storage, mode, tag):
tag
=
tag
[:
tag
.
rfind
(
'/'
)]
sample_index
=
int
(
res
.
groups
()[
0
])
reader
=
storage
.
as_mode
(
mode
)
image
=
reader
.
image
(
tag
)
res
=
[]
with
storage
.
mode
(
mode
)
as
reader
:
image
=
reader
.
image
(
tag
)
res
=
[]
for
step_index
in
range
(
image
.
num_records
()):
record
=
image
.
record
(
step_index
,
sample_index
)
...
...
@@ -95,22 +95,22 @@ def get_image_tag_steps(storage, mode, tag):
def
get_invididual_image
(
storage
,
mode
,
tag
,
step_index
):
reader
=
storage
.
as_mode
(
mode
)
res
=
re
.
search
(
r
".*/([0-9]+$)"
,
tag
)
# remove suffix '/x'
if
res
:
offset
=
int
(
res
.
groups
()[
0
])
tag
=
tag
[:
tag
.
rfind
(
'/'
)]
image
=
reader
.
image
(
tag
)
record
=
image
.
record
(
step_index
,
offset
)
data
=
np
.
array
(
record
.
data
(),
dtype
=
'uint8'
).
reshape
(
record
.
shape
())
tempfile
=
NamedTemporaryFile
(
mode
=
'w+b'
,
suffix
=
'.png'
)
with
Image
.
fromarray
(
data
)
as
im
:
im
.
save
(
tempfile
)
tempfile
.
seek
(
0
,
0
)
return
tempfile
with
storage
.
mode
(
mode
)
as
reader
:
res
=
re
.
search
(
r
".*/([0-9]+$)"
,
tag
)
# remove suffix '/x'
if
res
:
offset
=
int
(
res
.
groups
()[
0
])
tag
=
tag
[:
tag
.
rfind
(
'/'
)]
image
=
reader
.
image
(
tag
)
record
=
image
.
record
(
step_index
,
offset
)
data
=
np
.
array
(
record
.
data
(),
dtype
=
'uint8'
).
reshape
(
record
.
shape
())
tempfile
=
NamedTemporaryFile
(
mode
=
'w+b'
,
suffix
=
'.png'
)
with
Image
.
fromarray
(
data
)
as
im
:
im
.
save
(
tempfile
)
tempfile
.
seek
(
0
,
0
)
return
tempfile
if
__name__
==
'__main__'
:
...
...
server/visualdl/storage_mock.py
浏览文件 @
f0b6db3c
...
...
@@ -6,11 +6,11 @@ import numpy as np
def
add_scalar
(
writer
,
mode
,
tag
,
num_steps
,
skip
):
my_writer
=
writer
.
as_mode
(
mode
)
scalar
=
my_writer
.
scalar
(
tag
)
for
i
in
range
(
num_steps
):
if
i
%
skip
==
0
:
scalar
.
add_record
(
i
,
random
.
random
())
with
writer
.
mode
(
mode
)
as
my_writer
:
scalar
=
my_writer
.
scalar
(
tag
)
for
i
in
range
(
num_steps
):
if
i
%
skip
==
0
:
scalar
.
add_record
(
i
,
random
.
random
())
def
add_image
(
writer
,
...
...
@@ -20,20 +20,20 @@ def add_image(writer,
num_passes
,
step_cycle
,
shape
=
[
50
,
50
,
3
]):
w
riter_
=
writer
.
as_mode
(
mode
)
image_writer
=
writer_
.
image
(
tag
,
num_samples
,
step_cycle
)
for
pass_
in
xrange
(
num_passes
):
image_writer
.
start_sampling
()
for
ins
in
xrange
(
2
*
num_samples
):
index
=
image_writer
.
is_sample_taken
()
if
index
!=
-
1
:
data
=
np
.
random
.
random
(
shape
)
*
256
data
=
np
.
ndarray
.
flatten
(
data
)
assert
shape
assert
len
(
data
)
>
0
image_writer
.
set_sample
(
index
,
shape
,
list
(
data
))
image_writer
.
finish_sampling
()
w
ith
writer
.
mode
(
mode
)
as
writer_
:
image_writer
=
writer_
.
image
(
tag
,
num_samples
,
step_cycle
)
for
pass_
in
xrange
(
num_passes
):
image_writer
.
start_sampling
()
for
ins
in
xrange
(
2
*
num_samples
):
index
=
image_writer
.
is_sample_taken
()
if
index
!=
-
1
:
data
=
np
.
random
.
random
(
shape
)
*
256
data
=
np
.
ndarray
.
flatten
(
data
)
assert
shape
assert
len
(
data
)
>
0
image_writer
.
set_sample
(
index
,
shape
,
list
(
data
))
image_writer
.
finish_sampling
()
if
__name__
==
'__main__'
:
...
...
visualdl/python/test_storage.py
浏览文件 @
f0b6db3c
...
...
@@ -22,15 +22,16 @@ class StorageTest(unittest.TestCase):
scalar
.
add_record
(
i
,
float
(
i
))
print
'test read'
self
.
reader
=
storage
.
StorageReader
(
self
.
dir
).
as_mode
(
"train"
)
scalar
=
self
.
reader
.
scalar
(
"model/scalar/min"
)
self
.
assertEqual
(
scalar
.
caption
(),
"train"
)
records
=
scalar
.
records
()
ids
=
scalar
.
ids
()
self
.
assertTrue
(
np
.
equal
(
records
,
[
float
(
i
)
for
i
in
range
(
10
)]).
all
())
self
.
assertTrue
(
np
.
equal
(
ids
,
[
float
(
i
)
for
i
in
range
(
10
)]).
all
())
print
'records'
,
records
print
'ids'
,
ids
self
.
reader
=
storage
.
StorageReader
(
self
.
dir
)
with
self
.
reader
.
mode
(
"train"
)
as
reader
:
scalar
=
reader
.
scalar
(
"model/scalar/min"
)
self
.
assertEqual
(
scalar
.
caption
(),
"train"
)
records
=
scalar
.
records
()
ids
=
scalar
.
ids
()
self
.
assertTrue
(
np
.
equal
(
records
,
[
float
(
i
)
for
i
in
range
(
10
)]).
all
())
self
.
assertTrue
(
np
.
equal
(
ids
,
[
float
(
i
)
for
i
in
range
(
10
)]).
all
())
print
'records'
,
records
print
'ids'
,
ids
def
test_image
(
self
):
tag
=
"layer1/layer2/image0"
...
...
@@ -49,19 +50,20 @@ class StorageTest(unittest.TestCase):
image_writer
.
set_sample
(
index
,
shape
,
list
(
data
))
image_writer
.
finish_sampling
()
self
.
reader
=
storage
.
StorageReader
(
self
.
dir
).
as_mode
(
"train"
)
image_reader
=
self
.
reader
.
image
(
tag
)
self
.
assertEqual
(
image_reader
.
caption
(),
tag
)
self
.
assertEqual
(
image_reader
.
num_records
(),
num_passes
)
self
.
reader
=
storage
.
StorageReader
(
self
.
dir
)
with
self
.
reader
.
mode
(
"train"
)
as
reader
:
image_reader
=
reader
.
image
(
tag
)
self
.
assertEqual
(
image_reader
.
caption
(),
tag
)
self
.
assertEqual
(
image_reader
.
num_records
(),
num_passes
)
image_record
=
image_reader
.
record
(
0
,
1
)
self
.
assertTrue
(
np
.
equal
(
image_record
.
shape
(),
shape
).
all
())
data
=
image_record
.
data
()
self
.
assertEqual
(
len
(
data
),
np
.
prod
(
shape
))
image_record
=
image_reader
.
record
(
0
,
1
)
self
.
assertTrue
(
np
.
equal
(
image_record
.
shape
(),
shape
).
all
())
data
=
image_record
.
data
()
self
.
assertEqual
(
len
(
data
),
np
.
prod
(
shape
))
image_tags
=
self
.
reader
.
tags
(
"image"
)
self
.
assertTrue
(
image_tags
)
self
.
assertEqual
(
len
(
image_tags
),
1
)
image_tags
=
reader
.
tags
(
"image"
)
self
.
assertTrue
(
image_tags
)
self
.
assertEqual
(
len
(
image_tags
),
1
)
def
test_check_image
(
self
):
'''
...
...
@@ -75,31 +77,32 @@ class StorageTest(unittest.TestCase):
shape
=
[
image
.
size
[
1
],
image
.
size
[
0
],
3
]
origin_data
=
np
.
array
(
image
.
getdata
()).
flatten
()
self
.
reader
=
storage
.
StorageReader
(
self
.
dir
).
as_mode
(
"train"
)
self
.
reader
=
storage
.
StorageReader
(
self
.
dir
)
with
self
.
reader
.
mode
(
"train"
)
as
reader
:
image_writer
.
start_sampling
()
index
=
image_writer
.
is_sample_taken
()
image_writer
.
set_sample
(
index
,
shape
,
list
(
origin_data
))
image_writer
.
finish_sampling
()
image_writer
.
start_sampling
()
index
=
image_writer
.
is_sample_taken
()
image_writer
.
set_sample
(
index
,
shape
,
list
(
origin_data
))
image_writer
.
finish_sampling
()
# read and check whether the original image will be displayed
# read and check whether the original image will be displayed
image_reader
=
self
.
reader
.
image
(
tag
)
image_record
=
image_reader
.
record
(
0
,
0
)
data
=
image_record
.
data
()
shape
=
image_record
.
shape
()
image_reader
=
reader
.
image
(
tag
)
image_record
=
image_reader
.
record
(
0
,
0
)
data
=
image_record
.
data
()
shape
=
image_record
.
shape
()
PIL_image_shape
=
(
shape
[
0
]
*
shape
[
1
],
shape
[
2
])
data
=
np
.
array
(
data
,
dtype
=
'uint8'
).
reshape
(
PIL_image_shape
)
print
'origin'
,
origin_data
.
flatten
()
print
'data'
,
data
.
flatten
()
image
=
Image
.
fromarray
(
data
.
reshape
(
shape
))
# manully check the image and found that nothing wrong with the image storage.
# image.show()
PIL_image_shape
=
(
shape
[
0
]
*
shape
[
1
],
shape
[
2
])
data
=
np
.
array
(
data
,
dtype
=
'uint8'
).
reshape
(
PIL_image_shape
)
print
'origin'
,
origin_data
.
flatten
()
print
'data'
,
data
.
flatten
()
image
=
Image
.
fromarray
(
data
.
reshape
(
shape
))
# manully check the image and found that nothing wrong with the image storage.
# image.show()
# after scale, elements are changed.
# self.assertTrue(
# np.equal(origin_data.reshape(PIL_image_shape), data).all())
# after scale, elements are changed.
# self.assertTrue(
# np.equal(origin_data.reshape(PIL_image_shape), data).all())
def
test_with_syntax
(
self
):
with
self
.
writer
.
mode
(
"train"
)
as
writer
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录