MLWIC: Машинное обучение для классификации изображений дикой природы в R Проблемы с Python - PullRequest
0 голосов
/ 01 декабря 2018

Я - доктор наук в области дикой природы, вручную определяющий ~ 1,5 миллиона фотографий с игровых камер по видам.Пакет машинного обучения в R недавно вышел из исследовательского проекта, и я пытался заставить скрипт работать в R около 12 часов, и я не могу понять, что это правильно (я много использовал R и Python, но я не эксперт, и это первый вопрос, который я задал здесь, так что извините, если я не сделал это правильно).

ReadMe (чтобы понять, что я пытаюсь сделать, вы, вероятно,Я должен прочитать это, я прошу прощения) для пакета, загруженного на Github находится по адресу: https://github.com/mikeyEcology/MLWIC/blob/master/README.md

К сожалению для меня, пакет был разработан на платформе Macintosh, и у меня есть Windows.Я следовал инструкциям в ReadMe следующим образом:

1: установил пакет MLWIC с помощью кода:

devtools::install_github("mikeyEcology/MLWIC")
library(MLWIC)

2: следовал инструкциям по установке "pip", python и "TensorFlow "at https://www.tensorflow.org/install/pip

3: скачал папку L1

4: я запустил код, отличный от изложенного в ReadMe, он выглядит следующим образом: setup (python_loc =" Я использовал этоместоположение, которое я получил от запуска "where python" в Anaconda ")

После этой начальной настройки я запустил код для" функции классификации ": библиотека (MLWIC)

setup(python_loc = "C:/ProgramData/Anaconda3", conda_loc = "auto", r_reticulate = FALSE)

setwd("C:/Users/werdel/Desktop/MachineLearning")

help("classify")

classify(path_prefix = "C:/Users/werdel/Desktop/MachineLearning/images",# this is the absolute path to the images. 

     data_info = "C:/Users/werdel/Desktop/MachineLearning/image_labels.csv", # this is the location of the csv containing image information. It has Unix linebreaks and no headers.

     model_dir = "C:/Users/werdel/Desktop/MachineLearning", # assuming this is where you stored the L1 folder in Step 3 of the instructions: github.com/mikeyEcology/MLWIC/blob/master/README

     python_loc = "C:/ProgramData/Anaconda3/python.exe", # the location of Python on your computer. 

     save_predictions = "model_predictions.txt" # this is the default and you should use it unless you have reason otherwise.)

Этогде проблема, казалось, возникла.Кажется, он работает нормально, с выводом, показывающим файл, созданный в моем рабочем каталоге, но когда я проверяю, файла нет.Я попытался изменить местоположение на python, загрузить новые и старые версии anaconda, поиграться со средами, но ничто не изменило тот факт, что в моей рабочей директории нет файлов:

> library(MLWIC)
> setup(python_loc = "C:/ProgramData/Anaconda3", conda_loc = "auto", r_reticulate = FALSE)

Remove all packages in environment C:\PROGRA~3\ANACON~1\envs\r-reticulate:


## Package Plan ##

  environment location: C:\PROGRA~3\ANACON~1\envs\r-reticulate


The following packages will be REMOVED:

ca-certificates: 2018.03.07-0          
certifi:         2018.10.15-py37_0     
openssl:         1.1.1a-he774522_0     
pip:             18.1-py37_0           
python:          3.7.1-he44a216_5      
setuptools:      40.6.2-py37_0         
vc:              14.1-h0510ff6_4       
vs2015_runtime:  14.15.26706-h3a45250_0
wheel:           0.32.3-py37_0         
wincertstore:    0.2-py37_0            

Solving environment: ...working... done

## Package Plan ##

  environment location: C:\PROGRA~3\ANACON~1\envs\r-reticulate

  added / updated specs: 
    - python


The following NEW packages will be INSTALLED:

ca-certificates: 2018.03.07-0          
certifi:         2018.10.15-py37_0     
openssl:         1.1.1a-he774522_0     
pip:             18.1-py37_0           
python:          3.7.1-he44a216_5      
setuptools:      40.6.2-py37_0         
vc:              14.1-h0510ff6_4       
vs2015_runtime:  14.15.26706-h3a45250_0
wheel:           0.32.3-py37_0         
wincertstore:    0.2-py37_0            

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
#
# To activate this environment, use:
# > activate r-reticulate
#
# To deactivate an active environment, use:
# > deactivate
#
# * for power-users using bash, you must source
#

Solving environment: ...working... failed

UnsatisfiableError: The following specifications were found to be in conflict:
  - argparse
  - tensorflow
Use "conda info <package>" to see the dependencies for each package.

Error: Error 1 occurred installing packages into conda environment r-reticulate
> classify(path_prefix = "C:/Users/werdel/Desktop/MachineLearning/images", # this is 
the absolute path to the images. 
+          data_info = "C:/Users/werdel/Desktop/MachineLearning/image_labels.csv", # 
this is the location of the csv containing image information. It has Unix linebreaks 
and no headers.
+          model_dir = "C:/Users/werdel/Desktop/MachineLearning", # assuming this is 
where you stored the L1 folder in Step 3 of the instructions: 
github.com/mikeyEcology/MLWIC/blob/master/README
+          python_loc = "C:/ProgramData/Anaconda3/python.exe", # the location of Python 
on your computer. 
+          save_predictions = "model_predictions.txt" # this is the default and you 
should use it unless you have reason otherwise.
+ )
[1] "evaluation of images took 0.000504970550537109 secs. The results are stored in 
C:/Users/werdel/Desktop/MachineLearning/L1/model_predictions.txt. To view the results 
in a viewer-friendly format, please use the function make_output"

Итак, мой последний вопрос:Кажется ли, что я что-то неправильно настроил при загрузке pip, tenorflow, anaconda и python, это как-то связано с тем, как я кодирую и т. д.?

Ответы [ 3 ]

0 голосов
/ 18 февраля 2019

Мне удалось заставить MLWIC работать на Mac относительно безболезненно.Запуск его на Windows был немного более расстраивающим.Я следил за выпусками # 6 и # 13 на странице github MLWIC.На машине под управлением Windows 10 я скачал Anaconda 3 5.2.0 , которая включает Python 3.6.5.После многих часов поиска и устранения неисправностей я получил его на работу.

После установки Anaconda я использовал Anaconda Navigator для установки tenorflow 1.11.0, cuddn 6.0, setuptools 40.6.2.Обратите внимание, это единственное место, где я установил тензор потока.Я не беспокоился об установке pip, как упоминалось на веб-странице tenorflow.

Оттуда при первом открытии RI были установлены следующие пакеты MLWIC, keras, cloudml, Rcpp и reticulate.Затем запустил их с библиотечной функцией.Также, как сказал выше Файсал Ахмед, переименуйте image_labels.csv в data_info.csv и переместите этот файл в папку L1.Отсюда я смог получить предоставленный MLWIC код для запуска на Windows.Когда я впервые запустил функцию настройки, она выглядела так: setup(python_loc = "C:/Users/kvanatta/Anaconda3/python")

Примечание. Изначально я пытался запустить MLWIC с файлами, сохраненными на сервере в моем офисе (диск S:), и не смог получитьэто на работу.После переноса файлов на внешний жесткий диск емкостью 1 ТБ (F: диск) все работало нормально с нового места.

Я также скачал программу notepad ++ , чтобы иметь возможность преобразовывать данные data_infoCSV-файл в Unix (LF) переводы строк.Я полагаю, поскольку Windows не использует эти разрывы строк, открытие файла .csv в Excel изменит разрывы строк.Вы можете использовать notepad ++, чтобы вернуть их обратно.

Надеюсь, это поможет ослабить некоторые разочарования.

Приветствия

0 голосов
/ 13 марта 2019

Я действительно изо всех сил пытался заставить MLWIC работать на моем компьютере с Windows и следил за рядом проблем на странице MLWIC github, пока не нашел решение, которое работало для меня.

Я написал руководство для пользователей Windows, и оно было добавлено в репозиторий MLWIC_examples.Вы можете найти это здесь .Это пошаговое руководство.

Помимо этого, я нашел способ использовать переносы строк Unix-типа, не выходя из среды R:

# Write to UNIX type doc (required)
output.file <- file("L1\\data_info.csv", "wb")
write.table(data_info,
            row.names = FALSE,
            col.names = FALSE,
            file = output.file,
            quote = FALSE,
            append = TRUE,
            sep = ",")
close(output.file)
rm(output.file) 
0 голосов
/ 08 января 2019

Если я не ошибаюсь, в их коде есть небольшая ошибка, которая игнорирует путь data_info.Попробуйте переименовать ваш «image_labels.csv» в «data_info.csv» и поместите файл внутри model_dir.Это решило проблему для меня.Также используйте «C: / ProgramData / Anaconda3 /» вместо «C: /ProgramData/Anaconda3/python.exe»

...