1
0
Fork 0
mirror of https://github.com/prise6/smart-iss-posts synced 2024-05-06 07:33:09 +02:00

evaluation des env dans le yaml

This commit is contained in:
Francois 2019-03-07 17:32:02 +01:00
parent f6d8b0c33c
commit 98e01b6a3d
3 changed files with 55 additions and 26 deletions

View file

@ -8,17 +8,17 @@ import re
class CollectionManagerFromDirectory: class CollectionManagerFromDirectory:
def __init__(self, dir, config): def __init__(self, config):
self.config = config self.config = config
self.dir = self.config.get('directory')['collections']
jpg_regex = re.compile(".*jpg$") jpg_regex = re.compile(".*jpg$")
self.pictures_id = [pict for pict in os.listdir(dir) if jpg_regex.match(pict)] self.pictures_id = [pict for pict in os.listdir(self.dir) if jpg_regex.match(pict)]
self.dir = os.path.join(self.config.project_dir, dir) self.dir_base = self.config.get('directory')['autoencoder']['base']
self.dir_base = os.path.join(self.config.project_dir, self.config.get('directory')['autoencoder']['base']) self.dir_train = self.config.get('directory')['autoencoder']['train']
self.dir_train = os.path.join(self.config.project_dir, self.config.get('directory')['autoencoder']['train']) self.dir_test = self.config.get('directory')['autoencoder']['test']
self.dir_test = os.path.join(self.config.project_dir, self.config.get('directory')['autoencoder']['test']) self.dir_valid = self.config.get('directory')['autoencoder']['valid']
self.dir_valid = os.path.join(self.config.project_dir, self.config.get('directory')['autoencoder']['valid'])
self.seed = self.config.get('training')['seed'] self.seed = self.config.get('training')['seed']
self.proportions = self.config.get('training')['proportions'] self.proportions = self.config.get('training')['proportions']

View file

@ -4,19 +4,34 @@ import os
import sys import sys
import yaml import yaml
from dotenv import find_dotenv, load_dotenv from dotenv import find_dotenv, load_dotenv
import re
load_dotenv(find_dotenv()) load_dotenv(find_dotenv())
class Config: class Config:
def __init__(self, project_dir = os.getenv("PROJECT_DIR"), mode = os.getenv("MODE")): def __init__(self, project_dir = os.getenv("PROJECT_DIR"), mode = os.getenv("MODE")):
self.project_dir = project_dir self.project_dir = project_dir
self.mode = mode self.mode = mode
self.path_matcher = re.compile(r'\$\{([^}^{]+)\}')
with open(os.path.join(self.project_dir, 'config', 'config_%s.yaml' % (self.mode)), 'r') as ymlfile: yaml.add_implicit_resolver('!path', self.path_matcher, None, yaml.SafeLoader)
self.config = yaml.load(ymlfile) yaml.add_constructor('!path', self.path_constructor, yaml.SafeLoader)
print("ok")
def get(self, key): with open(os.path.join(self.project_dir, 'config', 'config_%s.yaml' % (self.mode)), 'r') as ymlfile:
return self.config[key] self.config = yaml.safe_load(ymlfile)
def get(self, key):
return self.config[key]
def path_constructor(self, loader, node):
''' Extract the matched value, expand env variable, and replace the match '''
value = node.value
match = self.path_matcher.match(value)
env_var = match.group()[2:-1]
return os.environ.get(env_var) + value[match.end():]

View file

@ -2,7 +2,7 @@
"cells": [ "cells": [
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 21, "execution_count": 4,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -12,7 +12,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 22, "execution_count": 5,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
@ -31,7 +31,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 23, "execution_count": 6,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -48,12 +48,19 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 24, "execution_count": 7,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ok\n"
]
}
],
"source": [ "source": [
"cfg = Config()\n", "cfg = Config()"
"dir = os.path.join(cfg.project_dir, cfg.get('directory')['collections'])"
] ]
}, },
{ {
@ -65,16 +72,16 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 25, "execution_count": 8,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"collection = CollectionManagerFromDirectory(dir = dir, config = cfg)" "collection = CollectionManagerFromDirectory(config = cfg)"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 26, "execution_count": 9,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
@ -83,7 +90,7 @@
"{'total': 13625}" "{'total': 13625}"
] ]
}, },
"execution_count": 26, "execution_count": 9,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "output_type": "execute_result"
} }
@ -94,7 +101,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 27, "execution_count": 10,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -492,6 +499,13 @@
"source": [ "source": [
"autoencoder.fit_generator(train_generator, steps_per_epoch=1000, epochs = 2)" "autoencoder.fit_generator(train_generator, steps_per_epoch=1000, epochs = 2)"
] ]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
} }
], ],
"metadata": { "metadata": {