supplement bug fix of parameter server (#26217)
* fix fluid.embeddingrevert-26856-strategy_example2
parent
ad6e3dd69c
commit
d0962abd20
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,33 @@
|
||||
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import logging
|
||||
import tarfile
|
||||
|
||||
import random
|
||||
|
||||
import paddle
|
||||
import paddle.fluid.incubate.data_generator as data_generator
|
||||
|
||||
logging.basicConfig()
|
||||
logger = logging.getLogger("paddle")
|
||||
logger.setLevel(logging.INFO)
|
||||
|
||||
|
||||
class DatasetSimnetReader(data_generator.MultiSlotDataGenerator):
|
||||
def generate_sample(self, line):
|
||||
pass
|
@ -0,0 +1,56 @@
|
||||
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import unittest
|
||||
import tempfile
|
||||
from test_dist_fleet_base import TestFleetBase
|
||||
|
||||
|
||||
class TestDistSimnetASync2x2(TestFleetBase):
|
||||
def _setup_config(self):
|
||||
self._mode = "async"
|
||||
self._reader = "pyreader"
|
||||
|
||||
def check_with_place(self,
|
||||
model_file,
|
||||
delta=1e-3,
|
||||
check_error_log=False,
|
||||
need_envs={}):
|
||||
required_envs = {
|
||||
"PATH": os.getenv("PATH", ""),
|
||||
"PYTHONPATH": os.getenv("PYTHONPATH", ""),
|
||||
"LD_LIBRARY_PATH": os.getenv("LD_LIBRARY_PATH", ""),
|
||||
"FLAGS_rpc_deadline": "5000", # 5sec to fail fast
|
||||
"http_proxy": "",
|
||||
"CPU_NUM": "2"
|
||||
}
|
||||
|
||||
required_envs.update(need_envs)
|
||||
|
||||
if check_error_log:
|
||||
required_envs["GLOG_v"] = "3"
|
||||
required_envs["GLOG_logtostderr"] = "1"
|
||||
|
||||
tr0_losses, tr1_losses = self._run_cluster(model_file, required_envs)
|
||||
|
||||
def test_dist_train(self):
|
||||
self.check_with_place(
|
||||
"dist_fleet_simnet_bow.py", delta=1e-5, check_error_log=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
@ -1,161 +0,0 @@
|
||||
# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import unittest
|
||||
|
||||
from test_dist_base import TestDistBase
|
||||
|
||||
import os
|
||||
flag_name = os.path.splitext(__file__)[0]
|
||||
|
||||
|
||||
class TestDistSimnetBowDense2x2(TestDistBase):
|
||||
def _setup_config(self):
|
||||
self._sync_mode = True
|
||||
self._enforce_place = "CPU"
|
||||
|
||||
def test_simnet_bow(self):
|
||||
need_envs = {
|
||||
"IS_DISTRIBUTED": '0',
|
||||
"IS_SPARSE": '0',
|
||||
'IS_SELF_CONTAINED_LR': '1'
|
||||
}
|
||||
self.check_with_place(
|
||||
"dist_simnet_bow.py",
|
||||
delta=1e-5,
|
||||
check_error_log=True,
|
||||
need_envs=need_envs,
|
||||
log_name=flag_name)
|
||||
|
||||
|
||||
class TestDistSimnetBow2x2DenseAsync(TestDistBase):
|
||||
def _setup_config(self):
|
||||
self._sync_mode = False
|
||||
self._enforce_place = "CPU"
|
||||
|
||||
# FIXME(typhoonzero): fix async tests later
|
||||
def notest_simnet_bow(self):
|
||||
need_envs = {
|
||||
"IS_DISTRIBUTED": '0',
|
||||
"IS_SPARSE": '0',
|
||||
'IS_SELF_CONTAINED_LR': '1',
|
||||
}
|
||||
self.check_with_place(
|
||||
"dist_simnet_bow.py",
|
||||
delta=100,
|
||||
check_error_log=True,
|
||||
need_envs=need_envs,
|
||||
log_name=flag_name)
|
||||
|
||||
|
||||
class TestDistSimnetBowSparse2x2(TestDistBase):
|
||||
def _setup_config(self):
|
||||
self._sync_mode = True
|
||||
self._enforce_place = "CPU"
|
||||
|
||||
def test_simnet_bow(self):
|
||||
need_envs = {
|
||||
"IS_DISTRIBUTED": '0',
|
||||
"IS_SPARSE": '1',
|
||||
'IS_SELF_CONTAINED_LR': '1'
|
||||
}
|
||||
self.check_with_place(
|
||||
"dist_simnet_bow.py",
|
||||
delta=1e-5,
|
||||
check_error_log=True,
|
||||
need_envs=need_envs,
|
||||
log_name=flag_name)
|
||||
|
||||
|
||||
class TestDistSimnetBow2x2SparseAsync(TestDistBase):
|
||||
def _setup_config(self):
|
||||
self._sync_mode = False
|
||||
self._enforce_place = "CPU"
|
||||
|
||||
def test_simnet_bow(self):
|
||||
need_envs = {
|
||||
"IS_DISTRIBUTED": '0',
|
||||
"IS_SPARSE": '1',
|
||||
'IS_SELF_CONTAINED_LR': '1'
|
||||
}
|
||||
self.check_with_place(
|
||||
"dist_simnet_bow.py",
|
||||
delta=100,
|
||||
check_error_log=True,
|
||||
need_envs=need_envs,
|
||||
log_name=flag_name)
|
||||
|
||||
|
||||
# FIXME(tangwei): Learningrate variable is not created on pserver.
|
||||
class TestDistSimnetBow2x2LookupTableSync(TestDistBase):
|
||||
def _setup_config(self):
|
||||
self._sync_mode = True
|
||||
self._enforce_place = "CPU"
|
||||
|
||||
def test_simnet_bow(self):
|
||||
need_envs = {
|
||||
"IS_DISTRIBUTED": '0',
|
||||
"IS_SPARSE": '1',
|
||||
'IS_SELF_CONTAINED_LR': '1'
|
||||
}
|
||||
self.check_with_place(
|
||||
"dist_simnet_bow.py",
|
||||
delta=1e-5,
|
||||
check_error_log=True,
|
||||
need_envs=need_envs,
|
||||
log_name=flag_name)
|
||||
|
||||
|
||||
class TestDistSimnetBow2x2LookupTableAsync(TestDistBase):
|
||||
def _setup_config(self):
|
||||
self._sync_mode = False
|
||||
self._enforce_place = "CPU"
|
||||
|
||||
def test_simnet_bow(self):
|
||||
need_envs = {
|
||||
"IS_DISTRIBUTED": '0',
|
||||
"IS_SPARSE": '1',
|
||||
'IS_SELF_CONTAINED_LR': '1'
|
||||
}
|
||||
self.check_with_place(
|
||||
"dist_simnet_bow.py",
|
||||
delta=100,
|
||||
check_error_log=True,
|
||||
need_envs=need_envs,
|
||||
log_name=flag_name)
|
||||
|
||||
|
||||
class TestDistSimnetBow2x2LookupTableNotContainLRSync(TestDistBase):
|
||||
def _setup_config(self):
|
||||
self._sync_mode = True
|
||||
self._enforce_place = "CPU"
|
||||
|
||||
def test_simnet_bow(self):
|
||||
need_envs = {
|
||||
"IS_DISTRIBUTED": '0',
|
||||
"IS_SPARSE": '1',
|
||||
'IS_SELF_CONTAINED_LR': '0'
|
||||
}
|
||||
self.check_with_place(
|
||||
"dist_simnet_bow.py",
|
||||
delta=1e-5,
|
||||
check_error_log=True,
|
||||
need_envs=need_envs,
|
||||
log_name=flag_name)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
Loading…
Reference in new issue