Как в Jupyter Notebook в Watson Studio сослаться на файл, загруженный в ресурсы?

в Watson Studio я пишу код в Jupyter Notebook для использования пользовательской модели Watson Visual Recognition. Он нормально работает с внешними изображениями. Я еще не смог сослаться на изображение, которое я загрузил в Активы моего проекта. URL-адрес ресурса попадает на всю страницу, а не только изображение: https://dataplatform.ibm.com/projects/2f4b89d9-b93a-4c98-a327-9b863a467b7c/data-assets/ed16c385-e09e-4bcb-bfab-67ee864538e4/?Context=data

Спасибо

datascience.ibm.com/docs/content/ анализировать данные /   —  person user3779503    schedule 18.04.2018

См. также:  Пытался обновить до PHP 8.0, и все, что было установлено композитором, даже php, не работает
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. user3779503

    В Watson файлы ресурсов сохраняются в Cloud Object Store или COS. Вам необходимо загрузить изображение из COS в файловую систему сервера записной книжки, а затем вы можете ссылаться на файл в записной книжке как на обычный локальный файл.

    Я использую cos api для получения файлов. https://github.com/IBM/ibm-cos-sdk-python.

    https://console.bluemix.net/docs/services/cloud-object-storage/libraries/python.html#using-python.

    Во-первых, узнайте, какие у вас учетные данные

    1. выделение ячейки записной книжки,
    2. щелкните меню Данные,
    3. выбрать файлы,
    4. «Вставить в код»
    5. учетные данные.

    Затем вы можете загрузить файл на локальное дисковое хранилище с помощью API. Например, чтобы скачать файл из COS:

    # The following code contains the credentials for a file in your IBM Cloud Object Storage. 
    # You might want to remove those credentials before you share your notebook.
    credentials_1 = {
        'IBM_API_KEY_ID': '**************************************',
        'IAM_SERVICE_ID': 'iam-ServiceId-**************************',
        'ENDPOINT': 'https://s3-api.us-geo.objectstorage.service.networklayer.com',
        'IBM_AUTH_ENDPOINT': 'https://iam.ng.bluemix.net/oidc/token',
        'BUCKET': '********************************',
        'FILE': 'file.xlsx'
    }
    
    from ibm_botocore.client import Config
    import ibm_boto3
    def download_file_cos(credentials, local_file_name, key):  
        cos = ibm_boto3.client(service_name='s3',
        ibm_api_key_id=credentials['IBM_API_KEY_ID'],
        ibm_service_instance_id=credentials['IAM_SERVICE_ID'],
        ibm_auth_endpoint=credentials['IBM_AUTH_ENDPOINT'],
        config=Config(signature_version='oauth'),
        endpoint_url=credentials['ENDPOINT'])
        try:
            res=cos.download_file(Bucket=credentials['BUCKET'], Key=key, Filename=local_file_name)
        except Exception as e:
            print(Exception, e)
        else:
            print("Dowloaded:", key, 'from IBM COS to local:', local_file_name)
    

    В содержимом каталога списка ячеек записной книжки:

    %%script bash
    ls -l
    
    
    # to list all .png files in COS you can use a function like this:        
    def list_objects(credentials):  
        cos = ibm_boto3.client(service_name='s3',
        ibm_api_key_id=credentials['IBM_API_KEY_ID'],
        ibm_service_instance_id=credentials['IAM_SERVICE_ID'],
        ibm_auth_endpoint=credentials['IBM_AUTH_ENDPOINT'],
        config=Config(signature_version='oauth'),
        endpoint_url=credentials['ENDPOINT'])
        return cos.list_objects(Bucket=credentials['BUCKET'])
    
    response = list_objects(credentials_1)
    for c in response['Contents']:
        if c['Key'].endswith('.png'):
            print(c['Key'], "last modified:", c['LastModified'])
    
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: