Merge pull request #29 from faceshiftlabs/feat/plaidML-os-x

Allows PlaidML to work on OS X with AMD cards
This commit is contained in:
Jeremy Hummel 2019-08-22 10:31:02 -07:00 committed by GitHub
commit 5179268b01
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -282,14 +282,15 @@ def get_plaidML_devices():
plaidML_devices = []
# Using plaidML OpenCL backend to determine system devices and has_nvidia_device
try:
os.environ['PLAIDML_EXPERIMENTAL'] = 'false' #this enables work plaidML without run 'plaidml-setup'
os.environ['PLAIDML_EXPERIMENTAL'] = 'true' #this enables work plaidML without run 'plaidml-setup'
import plaidml
ctx = plaidml.Context()
for d in plaidml.devices(ctx, return_all=True)[0]:
for devices in plaidml.devices(ctx, return_all=True):
for d in devices:
details = json.loads(d.details)
if details['type'] == 'CPU': #skipping opencl-CPU
if 'type' not in details or details['type'] == 'CPU': #skipping opencl-CPU
continue
if 'nvidia' in details['vendor'].lower():
if 'vendor' in details and 'nvidia' in details['vendor'].lower():
has_nvidia_device = True
plaidML_devices += [ {'id':d.id,
'globalMemSize' : int(details['globalMemSize']),