ssh -T git@bitbucket.org
authenticated via a deploy key.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
This deploy key has read access to the following repositories:
[repo_name]
[]$
public function getRatingAttribute()
{
$result = DB::table('likes')
->join('media_items', 'likes.likeable_id', '=', 'media_items.id')
->join('places', 'media_items.place_id', '=', 'places.id')
->select('like')
->where(['media_items.place_id' => $this->id, 'likes.likeable_type' => 'App\MediaItem'])
->get();
return $result->sum('like') + $this->selfRating;
}
public function getSelfRatingAttribute()
{
$result = DB::table('likes')
->select('like')
->where(['likes.likeable_id' => $this->id, 'likes.likeable_type' => 'App\Place'])
->get();
return $result->sum('like');
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class Place extends Model
{
protected $table = 'places';
protected $fillable = ['type_id', 'name'];
public function type()
{
return $this->belongsTo('App\TypePlace');
}
public function mediaItems()
{
return $this->hasMany('App\MediaItem');
}
public function likes()
{
return $this->morphMany(Like::class, 'likeable');
}
public function getCountLikesAttribute()
{
return Like::where([
'likeable_id' => $this->id,
'likeable_type' => 'App\Place',
'like' => 1,
])->count();
}
public function getCountDislikesAttribute()
{
return Like::where([
'likeable_id' => $this->id,
'likeable_type' => 'App\Place',
'like' => -1,
])->count();
}
public function getRatingAttribute()
{
$result = DB::table('likes')
->join('media_items', 'likes.likeable_id', '=', 'media_items.id')
->join('places', 'media_items.place_id', '=', 'places.id')
->select('like')
->where(['media_items.place_id' => $this->id, 'likes.likeable_type' => 'App\MediaItem'])
->get();
return $result->sum('like') + $this->selfRating;
}
public function getSelfRatingAttribute()
{
$result = DB::table('likes')
->select('like')
->where(['likes.likeable_id' => $this->id, 'likes.likeable_type' => 'App\Place'])
->get();
return $result->sum('like');
}
}
class PlaceController extends Controller
{
public function show_places()
{
$places = Place::with(['type', 'likes', 'mediaItems'])->get();
$sorted = $places->sortByDesc('rating');
$places = $sorted->values()->all();
return view('index', compact('places'));
}}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\NewTime;
class MediaItem extends Model
{
protected $table = 'media_items';
public static function createMediaItem($request)
{
$mediaItem = new MediaItem();
$extention_file = $request->file('path')->extension();
if ($extention_file == 'jpeg'
|| $extention_file == 'png'
) {
$mediaItem->type = 1;
} elseif ($extention_file == 'mp4'
|| $extention_file == 'mov'
|| $extention_file == 'qt'
) {
$mediaItem->type = 2;
} else {
$mediaItem->type = 3;
}
$mediaItem->place_id = $request->place_id;
$fileName = $request->file('path')->store('images', 'public');
$fileName = substr($fileName, 7);
$url = '/storage/images/' . $fileName;
$mediaItem->path = $url;
$mediaItem->save();
return $mediaItem->place_id;
}
function getTypeOfMediaAttribute()
{
switch ($this->type) {
case 1:
return 'фото';
case 2:
return 'видео';
default:
return 'не определено';
}
}
function getCreatedAtNiceAttribute()
{
return NewTime::new_time(strtotime($this->created_at));
}
function getUpdatedAtNiceAttribute()
{
return NewTime::new_time(strtotime($this->updated_at));
}
public function getCountLikesAttribute()
{
return Like::where([
'likeable_id' => $this->id,
'likeable_type' => 'App\MediaItem',
'like' => 1,
])->count();
}
public function getCountDislikesAttribute()
{
return Like::where([
'likeable_id' => $this->id,
'likeable_type' => 'App\MediaItem',
'like' => -1,
])->count();
}
public function getRatingAttribute()
{
return 123;
}
public function place()
{
return $this->belongsTo('App\Place');
}
public function likes()
{
return $this->morphMany(Like::class, 'likeable');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Like extends Model
{
protected $guarded = [];
protected $table = 'likes';
}
Вот даем мы 00 на входы, считаем ошибку, нужно ли сразу обновлять веса? Или нужно дать последовательно еще с 3 вариантами на входе, посчитать еще 3 ошибки, нормализовать и только после этого обновлять веса?
Почему мне кажется это странным - это потому, что в формулах используются значения на выходах нейронов. Но на выходах остаются значения с последней четвертой комбинации и, кажется, здесь нужно как-то использовать толи все 4 значения и также их как-то нормализовывать, но с другой стороны в теории пишут что сразу надо обновлять все веса после прогона одного. В итоге не понятно что делать надо.